随笔 - 37  文章 - 0  评论 - 150  阅读 - 29万
08 2011 档案
[C/C++]在头文件中使用static定义变量意味着什么
摘要:看到有一位同学在头文件中这么写:static const wchar_t* g_str1 = …static const wchar_t* g_str2 = …这种定义变量的方式我从来没有见过,而且它还能顺利通过编译,于是我很想知道编译器是如何处理这种变量定义的。定义全局变量时使用static,意味着该变量的作用域只限于定义它的源文件中,其它源文件不能访问。既然这种定义方式出现在头文件中,那么可以很自然地推测:包含了该头文件的所有源文件中都定义了这些变量,即该头文件被包含了多少次,这些变量就定义了多少次。假如将上面两行代码的static去掉,编译的时候就会出现变量重定义的错误,这进一步证实了上 阅读全文
posted @ 2011-08-06 13:43 Zplutor 阅读(28426) 评论(5) 推荐(7) 编辑

< 2025年3月 >
23 24 25 26 27 28 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 1 2 3 4 5

点击右上角即可分享
微信分享提示