« | July 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | |
|
公告 |
My blog is about my major : network security.the most papers are talk about it ,I like my major ,i wish you could find what's you need in it. |
统计 |
blog名称:我的IT人生 日志总数:78 评论数量:185 留言数量:-1 访问次数:523173 建立时间:2006年4月5日 |
| 
|
本站首页 管理页面 写新日志 退出
[C/C++]auto register static extern const |
auto: 这个这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变量默认就是auto的。
static: 当static用来修饰全局变量时,它就改变了全局变量的作用域,使其不能被别的程序extern,限制在了当前文件里,当依然存放在全局存储区。
两种用途:
1, 宏观性统计变量。(全局统计时)
2, 减少局部数组建立和赋值的开销。(经常调用时)
const
用途:
1, 修饰输入参数:①对于非内部数据类型的输入参数,应该将“值传递”的方式改为“const引用传递”,目的是提高效率,e.g. void Fun(A a)改为void Func(const A &a)。 ②对于内部数据类型的输入参数,不要将“值传递”的方式改为“const引用传递”,否则提高不了效率反而降低了函数可读性。e.g. void Fun(int x) 不要改为 void Fun(const int &x)。
2, 修饰函数返回结果:①以“指针传递”方式的函数返回值加const修饰,那么函数返回值的内容不能被修改,该返回值只能被赋给加const修饰的同类型指针。e.g. const char *str=getstring(); ②若函数返回值采用“值传递方式”,由于函数会把返回值复制到外部临时的存储单元中,加const修饰没有任何价值。③const成员函数的声明中,const关键字只能放在函数声明的尾部,表示该类成员不修改对象。
3, Extern意味着“外来的”,它的作用在于告诉编译器:有这个变量,它可能不存在当前的文件中,但肯定存在于工程的其他文件中。
register: 这个关键字命令编译器尽可能的将变量存在CPU内部寄存器中而不是通过内存寻址访问以提高效率。
|
阅读全文(8136) | 回复(0) | 编辑 | 精华 |
|