C++primer5阅读笔记1(C++编程小贴士1)
1、内置类型若未被初始化,在函数体之外则被初始化为0;函数体之内则未定义
2、自定义类名一般以大写字母开头
3、浅看auto,decltype
4、头文件:
#ifndef 1_H
#define 1_H
#endif
5、头文件不包含using声明
6、赋值运算满足右结合律
7、变量和函数都在头文件中声明,源文件中定义
8、错误:
*a = toupper(*a++)
9、嵌套条件运算符:
f = (g > 90) ? "a" : (g < 60) ? "c" : "b"
10、位运算符:
1 UL << 27 #只有第27位为1
11、赋值语句中,右侧转换为左侧的类型
12、算数转换(P168)
13、::name,全局作用域
14、形参的顶层const会被忽略:
void f(int i);
void f(const int i); #错误
15、类模板分文件编写,.hpp类模板
16、thow、try、catch(P199)
throw runtime_error
17、函数形参尽量使用常量引用
18、引用错误:
string& s = "gyy";
int& i = 10;
19、复杂的数组声明:
int *p[10]; # p是含有10个整型指针的数组
int &p[10]; # 错误,不存在引用的指针
int (*p)[10] # p是指向数组的指针
int p[][10]
int (&p)[10] # p是数组的引用
20、
initializer_list< > l # 可变数量形参函数