c/c++ 类中的成员变量声明时请优先考虑一下排列次序
来源:互联网 发布:进口数据查询 编辑:程序博客网 时间:2024/06/02 06:51
其实我们知道内存中是以对齐方式存储的,只是我们往往定义一个类的时候对于其中的成员变量很随意的就写上,当然这对程序(类的)实现功能没什么影响,但这确实会对内存产生不必要的浪费
cat class.cpp
#include <iostream>
using namespace std;
class a
{
public:
char c1;
char c2;
char c3;
int i1;
char c4;
};
class b
{
public:
char c1;
int i1;
char c2;
char c3;
char c4;
};
class c
{
public:
int i1;
char c1;
char c2;
char c3;
char c4;
};
class d
{
public:
char c1;
char c2;
char c3;
char c4;
int i1;
};
int main(int argc, char** argv){
printf("a:%d\tb:%d\tc:%d\td:%d\n", sizeof(a), sizeof(b), sizeof(c), sizeof(d) );
return 0;
}
./class
a:12 b:12 c:8 d:8
可以看到不同的次序会占用不同空间大小的内存,所以在使用class等时请花分秒钟想一想怎样排序成员。。。。。。。。。。
- c/c++ 类中的成员变量声明时请优先考虑一下排列次序
- Objective-C成员变量声明方式探究
- C语言中的变量声明
- C 运算符的优先次序
- Turbo C运算符的优先次序
- Turbo C运算符的优先次序
- 【C/C++】成员变量
- 如何理解C语言中的变量声明
- Effective C++:条款22:将成员变量声明为private
- C语言定义结构体时注意成员变量的类型和声明顺序
- 在objective-C类中声明一个数组型成员变量的property
- 在objective-C类中声明一个数组型成员变量的property
- c语言声明优先原则
- c变量声明问题
- c语言变量声明
- 【C++】变量声明
- C语言变量声明
- C++的声明和定义(针对变量,const变量,C++函数,C函数,类,类的静态成员等)
- UIAlertView用法
- 集群间 Hive 数据 迁移 问题
- JBoss Rules 学习(二): RETE算法
- css颜色代码
- java线程之join方法
- c/c++ 类中的成员变量声明时请优先考虑一下排列次序
- iBATIS 三个版本小细节对比
- java 基础知识3-变量初始化
- Android中的WebView禁止响应点击事件的方法
- C++ STL vector, valarray, 和bitSet使用方法对比
- C++易错
- osql 命令 sqlserver 2008 登录无法打开默认数据库
- ORACLE中通过SQL语句(alter table)来增加、删除、修改字段
- linux zip cmd