struct的初始化
1、struct的初始化可以使用類似數(shù)組的方式,如下:
struct Student
{
int _Age;
string _Name;
};
Student stu = {26,"Andy"};
2、有兩個地方需要注意:
a、順序要保持一致,如下:
Student stu = {"Andy",26}; 編譯報錯
b、后面的可以不初始化
Student stu = {26}; 只初始化_Age
3、考慮下面的情況,Student當中有個字段,表示Student對象的大小,而在Debug和Release下,大小是不一樣的,怎么辦?
使用sizeof,如下:
struct Student
{
int _Size;
int _Age;
string _Name;
};
Student stu = {sizeof(stu),26,"Andy"};
4、注意:同一個數(shù)據(jù)類型,在Debug和Release模式下,占用的內(nèi)存有可能會不一樣。比如:
int :Debug和Release 一樣,都是4個字節(jié)
string :Debug占用32個字節(jié),Release占用28字節(jié)
5、在Debug模式下,對象本身有可能會多占用一些字節(jié),同時,Debug模式下,對象的前后還會多占用一些字節(jié)(比如int 前后各4個字節(jié)),用于保存調(diào)試信息。
轉(zhuǎn)載于:https://www.cnblogs.com/nzbbody/p/4604608.html
總結(jié)
以上是生活随笔為你收集整理的struct的初始化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 吾解——HTTP(超文本传输协议)
- 下一篇: 细究fork()和vfork()