|
1.无论什么时候设计一个包含静态变量的函数时,都应该记住多线程问题。
2.在C++中,全局静态对象的构造函数是在main()之前调用的,所以在中有一个在进入main()之前执行一段代码的方法,以及在退出main()之前用析构函数执行代码的方法。
3.static可以控制连接,使变量和函数成为内部连接(使他们文件静态)。
4.在一个名字空间中引用一个名字有两种方法
<1>用作用域解析符
<2>用using指令把所有名字引入到名字空间中
5.using指令缺点:可能引入带名字冲突的名字空间
6.如果不想由于引入不同名字空间而导致重复定义一个函数,可以使用using声明,它不会引起任何二义性和重复
7.使用明确的限定或者using声明可以消除名字冲突
8.对象之间相互通信的一种方法,使用类的静态数据成员,这样所有的这些对象的静态数据成员就能共享一块静态存储区空间。
9.静态常量对象和非静态常量对象必须在外部定义
10.静态成员函数为类的全体对象服务而不是为一个类的特殊对象服务。它只能访问静态数据成员,也只能调用其他的静态成员函数。静态成员函数无this指针,因而也不能访问一般的成员。
11.extern "C" 是通过重载关键子extern来实现的,它告诉编译器按照C风格来进行编译。如果在C++中编写一个程序需要用到C的库,就需要用到这个。
常见格式
- extern "C"
- {
- float f(int a, char b);
- }
- extern "C"
- {
- #include"MyHeader.h"
- }
- #ifdef __cplusplus
- extern "C" {
- #endif
- // some declaration or so
- #ifdef __cplusplus
- }
- #endif // end of __cplusplus
复制代码
|
|