雨亭

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年8月2日

摘要: C语言程序可以看成由一系列外部对象构成,这些外部对象可能是变量或函数。而内部变量是指定义在函数内部的函数参数及变量。外部变量定义在函数之外,因此可以在许多函数中使用。由于C语言不允许在一个函数中定义其它函数,因此函数本身只能是“外部的”。 由于C语言代码是以文件为单位来组织的,在一个源程序所有源文件中,一个外部变量或函数只能在某个文件中定义一次,而其它文件可以通过extern声明来访问它(定义外部变量或函数的源文件中也可以包含对该外部变量的extern声明)。 而static则可以限定变量或函数为静态存储。如果用static限定外部变量与函数,则可以将该对象的作用域限定为被编译源文件的剩余部分 阅读全文
posted @ 2011-08-02 22:29 雨亭 阅读(168) 评论(0) 推荐(0) 编辑

摘要: 1 class A 2 { 3 public: 4 A(){ printf("A "); } 5 ~A(){ printf("~A "); } 6 }; 7 8 class B 9 {10 public:11 B(){ printf("B "); }12 ~B(){ printf("~B "); }13 A a;14 };15 16 17 int _tmain(int argc, _TCHAR* argv[])18 {19 B *pB;20 pB = new B;21 22 delete pB;23 24 getc 阅读全文
posted @ 2011-08-02 22:08 雨亭 阅读(205) 评论(0) 推荐(0) 编辑

摘要: sizeof(datatype),这些跟这些数据类型在内存中的字节数相等,比如,sizeof(int)=4,因为在大多数的32位机和64位机里的int类型数据所占的字节数都是4。然后说说sizeof()某个类的值,总的来说,某个类的sizeof()的值等于其所有成员变量所占字节数的和,但是,静态变量由于存在于堆里,所以不计算在内。而virtual 函数因为会有个指针,所以也会存在一个指针所占的字节数。通过上面的方法计算出的结果为0的类中,VC++都将其改为了1.原因是,一个类的sizeof()为0.假设为A。class A{};A obj_a;int b;那么我们对obj_a的内存操作将会影响 阅读全文
posted @ 2011-08-02 21:56 雨亭 阅读(278) 评论(0) 推荐(0) 编辑