一、寄存器对象:
函数中频繁被使用的变量可以加上register就可声明为寄存器对象。对于寄存器对象,假如能够放到寄存器中就会放到寄存器中,放不到的话就放到内存中。比如 register int a,一般用于循环控制变量挺好的。
二、静态变量。
这里容易犯一个错误,记住,静态变量只初始化一次,没有初始化的会自动初始化为0
#include <iostream>
int traceGcd( int v1, int v2 )
{
static int depth = 1;
cout << depth++ << “,”;
if ( v2 == 0 )
{
depth = 1;
return v1;
}
return traceGcd( v2, v1%v2 );
}
输出不是
1,1,1,1..... 这是因为初始化语句只在第一次调用时执行。
也不是
2,3,4,5...... 这是因为++后执行
应该是
1,2,3,4,5......
三、new的一种特殊使用
new(q)p,在已分配的内存q上创建新的p,其中p和q是指针。
四、命名空间namespace
定义方式
namespace 名字
{
}
假如命名空间名字在前面出现过,那么两个就合起来。命名空间可嵌套使用,如
namespace a
{
namespace b
{
int c;
}
}
想访问c的话,要a::b::c