- 1 C++统一初始化:
- 2 输入输出
- 3 const 与指针
初始化列表 解决方案
int main()
{
int a=10;
int b(10);
int c{10};
int ar[10]={1,2,3,4,5,6,7,8,9,10};
int br[10]{1,2,3,4,5,6,7,8,9,10};
return 0;
}
2 输入输出
- C语言输入输出
#includeint main() { int a=0; char ch='0'; scanf("a=%d ch=%c n",a,c); return 0; }
- C++语言输入输出
#includeusing namespace std; int main() { int a=0; char ch='0'; cin>>a>>ch; //cin输入流对象 cout<<"a = "<> 提取符 //<< 插入符 //endl => 'n';换行符
- 输入字符串
#includeusing namespace std; int main() { const int n=128; char str[n]; cin>str; //输入 jj hello this cout< 总结:
3 const 与指针
使用cout标准输出(控制台)和cin标准输入(键盘)时,必须包含 < iostream > 头文件以及std标准命名空间。endl 相当于 ’ n’;
- const在C与C++中的区别
C语言中以变量为主
int main() { const int n = 10; // C语言中以变量为主。 int ar[n] ={1,2}; // error; int *p =(int*) &n; // *p = 100; printf("%n = %d *p = %d n",n,*p); return 0; }C++ 中以常量为主
int main() { const int n = 10; // C++ 语言中以常量为主。 int ar[n] = {1,2,3,4}; // ok; int *p = (int *)&n; *p = 100; cout<<"n = "<
- const与指针的关系
int main() { int a = 10, b = 10; int *p1 = &a; // 普通指针 const int *p2 = &a; // 指向为常性(解引用为常性) int const *p2 = &a; int * const p3 = &a; // 指针变量自身为常性 const int * const p4 = &a; // 指向(解引用)和指针变量自身都为常性 }int main() { int a = 0; int *p1 = &a; // ok; const int *p2 = &a; // ok; int * const p3 = &a; // ok; const int * const p4 = &a; // ok; return 0; } //编译方式不同常变量与指针
int main() { const int a = 10; int *p1 =&a; // error; 因为a是一个常量,然而通过把a解引用给指针p时,如果指针p发生改变则a也要发生改变,这是错误的,所以编译不通过。 const int *p2 = &a; // ok; int * const p3 = &a; // error; 对于p3而言 p3的指向的是a的地址这是不会发生改变的 但是可以通过解引用p3改变a的值 这是不允许的,所以编译不通过。 const int * const *p4 = &a; // ok; int *p5 = (int*) &a; // ok 不安全 return 0; }同类型指针的赋值兼容规程
int main() { int a = 10,b = 20; int *p = &a; int *s1 = p; // ok; const int *s2 = p; // ok; int * const s3 = p; // ok; const int * const s4 = p; //ok; }总结:能力强的指针赋值给能力收缩的指针
练习1int main() { int a = 10, b = 20; const int *p = &a; int *s1 = p; //error const int *s2 = p; //ok int * const s3 = p; //error const int * const s4 = p; //ok }练习2
int main() { int a = 10, b = 20; int * const p = &a; int *s1 = p; //ok const int *s2 = p; //ok int * const s3 = p; //ok const int * const s4 = p; //ok }



