关于c++初始化原理与性能的讨论
例如在c++中,初始化一个int型的变量:
-------------------------------
int vt = 0;
执行开始
cpu:请内存控制器查询是否足够4个字节;
内存控制器:足够;
cpu:请分配4个字节的空间,并返回内存地址;
内存:空间已经分配,返回内存地址;
cpu:找到这个内存地址,复制其内容到cpu缓存;
cpu:给这个地址空间赋值(0)
执行完毕。
-------------------------------
int vt(0);
执行开始
cpu:请内存控制器查询是否足够4个字节;
内存控制器:足够;
cpu:请分配4个字节的空间,并赋值0,返回内存地址;
内存:空间已经分配,返回内存地址;
执行完毕。
-------------------------------
后面的初始化方式节省2次cpu心跳,以及1次内存通信,理论上讲它的性能更好。
这里给出的原理如果有误敬请指正。