c++
lfdanding
这个作者很懒,什么都没留下…
展开
-
#pragma pack(push,1) & #pragma pack(pop)
在程序中,有的时候我们定义结构体的时候,要用#pragma pack(push,1) & #pragma pack(pop)类似代码将结构体包起来。 一般形式如下: #pragma pack(push,1); struct A { } ; #pragma pack(pop); 这么做有什么目的呢? 注:下列内容来自网络。 2 #pr转载 2015-04-01 15:26:31 · 536 阅读 · 0 评论 -
C++类对象成员变量与成员函数内存分配问题
很多人都知道C++类是由结构体发展得来的,所以他们的成员变量(C语言的结构体只有成员变量)的内存分配机制是一样的。下面我们以类来说明问题,如果类的问题通了,结构体也也就没问题啦。 类分为成员变量和成员函数,我们先来讨论成员变量。 一个类对象的地址就是类所包含的这一片内存空间的首地址,这个首地址也就对应具体某一个成员变量的地址。(在定义类对象的同时这些成员变量也就被定义了)我们来以一段代码说明问题:转载 2015-04-06 11:59:26 · 1573 阅读 · 0 评论 -
C++静态成员变量和静态成员函数
数据成员可以分静态变量、非静态变量两种. 静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员可以直接访问类中静态的成员. 非成静态员:所有没有加Static的成员都是非静态成员,当类被实例化之后,可以转载 2015-04-06 10:43:29 · 583 阅读 · 1 评论 -
基类,派生类,内存分配情况
派生类继承基类 内存分配时,是在于基类对象不同的内存地址处,按基类的成员变量类型,开辟一个同样的类型空间,但注意开辟后派生对象的空间,不是复制基类的成员的值,而是仅仅开辟那种成员类型的空间,未初始化时,里面存在的数是不确定的 然后派生类自己定义的成员变量是排在继承的A类成员下面,如果派生类定义的变量名与基类相同,则此变量覆盖掉继承的基类同名变量,注意,覆盖不是删除转载 2015-04-06 11:26:59 · 2496 阅读 · 2 评论 -
C++类四个默认函数---构造函数、析构函数、拷贝函数、赋值函数
默认构造函数指不带参数或者所有参数都有缺省值的构造函数!!! (1)构造函数、析构函数与赋值函数 构造函数、析构函数与赋值函数是每个类最基本的函数。它们太普通以致让人容易麻痹大意, 其实这些貌似简单的函数就象没有顶盖的下水道那样危险。 每个类只有一个析构函数和一个赋值函数,但可以有多个构造函数(包含一个拷贝构造函数,其它的称为普通构造函数)。对于任意一个类A,如果不编写上述转载 2015-04-23 11:34:27 · 476 阅读 · 0 评论