cpp问题


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')......


你可能感兴趣的:(cpp问题)