extern inline volatile explicit

 1. extern是一个关键字,它告诉编译器存在着一个变量或者一个函数,如果在当前编译语句的前面中没有找到相应的变量或者函数,也会在当前文件的后面或者其它文件中定义
 2. 调用extern "C"关键字,声明cpp文件中有关代码,需要按照C的方式来生成

 

 1. 在函数声明或定义中函数返回类型前加上关键字inline即把该函数指定为内联
 2. 关键字inline必须与函数定义体放在一起才能使函数成为内联,仅将inline放在函数声明前面不起任何作用。
 3. 定义在类声明之中的成员函数将自动地成为内联函数

 

1. volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象

 

1. explicit是为了防止隐式使用拷贝构造函数的
class Test1
{
public:
	Test1(int n)
	{
		num = n;
	}
private:
	int num;
};


class Test2
{
public:
	explicit Test2(int n)
	{
		num = n;
	}
private:
	int num;
};


int main(void)  
{
	Test1 t1 = 12;
	//Test2 t2 = 12;  error 不能隐式转换
	Test2 t3(12);
};

 

posted on 2014-10-25 13:05  kangbry  阅读(315)  评论(0编辑  收藏  举报

导航