C++ primer 中文第三版 阅读笔记 第八章
2013-09-26 22:23
253 查看
一、寄存器对象:
函数中频繁被使用的变量可以加上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
函数中频繁被使用的变量可以加上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++ primer 中文第三版 阅读笔记 第八章
- C++ primer 中文第三版 阅读笔记 第七章
- C++ primer 中文第三版 阅读笔记 第十一章
- C++ primer 中文第三版 阅读笔记 第六章
- C++ primer 中文第三版 阅读笔记 第九、十章
- C++ Primer 第二遍阅读笔记(第八章)
- [c++ Primer中文第三版学习笔记]
- 《C++ primer》英文第五版阅读笔记(二十二)——循环语句
- 《代码大全》 阅读笔记 第八章 防御式编程
- PHP中文手册 阅读笔记2
- python中文文档阅读笔记2
- c++ primer(第五版)笔记 第八章 io
- 鸟哥的LINUX私房菜基础篇第三版 阅读笔记 三 Linux磁盘与文件系统管理
- c++ primer阅读笔记-15章-4
- linux设备驱动程序(第三版)阅读笔记(四)
- c++ primer(第五版)学习笔记及习题答案代码版(第八章)IO库
- MarginNote X Pro for Mac(强大的阅读笔记工具)免注册码版 v2.7.9中文破解版
- C++ Primer 第二遍阅读笔记(第十章)
- C++ primer第二次阅读学习笔记(第17章:用于大型程序的工具:异常处理)
- c++ primer阅读笔记-13章-1