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


原文地址:https://www.cnblogs.com/pangblog/p/3343270.html