0 - C
levinee
这个作者很懒,什么都没留下…
展开
-
空结构体(空类)的size
对一个空结构体或者空类(只有构造函数和析构函数)取sizeof操作符,结果是什么?为此我问过一些同事,大多数人都说不太清楚。下面是我在不同编译器中尝试的结果。 #include class A {}; struct B {}; int main() { using namespace std;原创 2009-02-04 23:14:00 · 2659 阅读 · 1 评论 -
C语言中extern修饰符的用法
今天休假,大概总结一下extern在C/C++语言中的常见用法吧。不是为了说明茴香豆有多种写法,而是发现很多同事,包括我自己,使用的时候还是经常犯晕。 在C语言中,修饰符extern用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”。0. extern修饰变量的声明。举例来说,如果文件a.c需要引用b.c中变量int v,就可以在a.c中声明extern int原创 2009-05-08 16:17:00 · 3997 阅读 · 0 评论 -
公共头文件耦合性的问题
最近发现项目中常常有很多模块引用同一个公共的头文件,比如对声音资源文件的定义全部放在一个大的头文件里面。其他应用模块include这个大头文件。可能一开始代码框架设计者认为这样会让对声音资源文件的定义更好的集中定义在一个地方。但是如果从编译的效率来看,实在是太低了。如果这个头文件被某一个模块修改,那么编译器就会编译所有引用这个头文件的所有模块,加大了模块间的耦合性。原创 2010-03-24 23:01:00 · 1429 阅读 · 3 评论