1.cin ; cin.get() ; cin.get(ch) ;cin.getline()区别;
2.字符转数字。
3.using namespace std;
4. int (*a)[5] 指定了列数,每个元素都是int 类型组成的数组, 可以说是一个二维数组, int *a[5] 的每个元素是 指针类型组成的数字 c++ primer 5 p203
5.-> 和 .
结构体名 用. ;地址用-> 或者 (*地址).
6. string 和字符数组的区别。
数组有大小限制,string更智能。
7.函数指针
8.register 变量不能是取地址,没内存, static 只能用常量表达式复制, 常量表达式是: sizeof const enum 及字面常量值。但是不能 static int x = 5*m; 其中m是变量。
存储说明符: auto extern static register mutable
cv限定符: const volatile
mutalte的作用就是:结构体即使是const 的变量,这个变量的某个值元素也是可以修改的。
在C++中const 具有内部链接性。 若把const变量作为的全局变量必须在所有使用的加 extern, 而常规变量 可以不加 extern,只是在其他要使用该常规变量是加extern。
9.new 只能在函数中用,不能在函数外初始化 静态存储变量。 关于布局 new操作符 不能用delete 因为静态内存不在delete 区域。c++ primer P282.
10. 空类 自动生成 5个函数 构造析构 赋值操作法 拷贝构造 取址操作法
构造函数: 默认构造函数值能有一个 有参数的也可以 参数为默认值。如果有2个会导致二义性。
赋值构造函数: 按值传递 或者返回对象时都会使用。
赋值操作付 和赋值构造函数 区别?
重看 第11 12章
11.派生类对象可以赋值给 基类引用或指针, 但是相反不不可以。
12. 派生类 中 如果不加 virtual 在接下来的派生类还是虚函数吗? 答:还是虚函数。
13.如果使用指向对象的指针或引用,则是用 对象类型的方法,而不使用指针或者引用的定义的方法。
14.构造函数不能虚函数,派生类不继承基类的构造函数。析构函数应该是虚函数但也不继承,这是一个效率方面的事。友元函数只有成员函数才能是虚函数。派生类的虚函数 返回类型可以协变。
15.纯虚函数的类不能创建 对象。
16.explicit 禁止隐式 调用。
17。返回引用效率高,不用拷贝复制 删除临时变量。但是不能返回临时生成或者局部的引用。
18. 迭代器?vector ?http://blog.chinaunix.net/uid-20773165-id-1847758.html点击打开链接
19.cout<< 地址 例如: char *p ="hello" cout<< p 和 cout<<(unsigned int)&p ? 前者输出字符串 后者输出地址。地址应该强制转换? cout.put(‘w’).put('d')......