`

[C++ Primer Plus]第五、六、七章

阅读更多
1.C++的for循环允许这样定义初始值
for(int i;;); //变量i只存在于for语句中
2.对于类而言,前缀++i比后缀i++效率高
3.逗号表达式
先计算第一个表达式再计算第二个表达式,以此类推,逗号表达式的值是最后一部分的值,逗号运算符在所有运算符中的优先级最低
4.C++基于范围的for循环
int a[3] = {1,2,3};
for(int x:a); //x依次表示a[0] a[1] a[2]
5.函数原型不要求提供变量名
6.如果数据类型本身并不是指针,则可以将const或非const的数据地址赋给指向const的指针,但只能将非const数据的地址赋给非const指针
7.int a = 1; const int* const p = &a; //既不能修改指针p所指向的地址也不能修改指针p所指向地址的值
8.int *a[4]; //由4个指向int的指针所组成的数组
  int (*a)[4]; //一个指向由4个int组成的数组的指针
9.a[i][j] == *(*(a + i) + j);
10.声明函数指针
int (*func)(int);
调用时func(a)与(*func)(a)都可以
const double* (*pa[3])(const double*, int) = {f1, f2, f3};
//pa是一个包含三个指针的数组,每个指针都指向这样的函数,即const double*和int作为参数,返回值为const double*
调用时pa[1](&a, b)与(*pa[1])(&a, b)都可以
指向pa整个数组的指针
const double* (*(*pb)[3])(const double*, int) = &pa;
调用时(*pb)[1](&a, b)和(*(*pb)[1])(&a, b)都可以
11.使用auto可以帮助正确的声明,还可以利用typedef
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics