读书人

C++ primer 汉语第三版 阅读笔记 第八

发布时间: 2013-09-28 10:01:20 作者: rapoo

C++ primer 中文第三版 阅读笔记 第八章

一、寄存器对象:

函数中频繁被使用的变量可以加上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


读书人网 >C++

热点推荐