gpt4 book ai didi

c++ - 结构 vector 中自定义结构函数的内存使用

转载 作者:搜寻专家 更新时间:2023-10-31 00:24:25 25 4
gpt4 key购买 nike

我有一个结构,例如这个:

struct TMyStruct {
int v1;
std::string abc;

TMyStruct() { Init(); }

void Init() {
v1 = 1;
abc = "text";
}
}

std::vector<TMyStruct> ms;
ms.push_back(TMyStruct());
// ... etc.

效果很好。

我担心的是——在这种情况下,当在 vector 中分配时,上述结构是否会因为用于初始化的附加函数(但可能是其他任何东西)而使用更多内存?或者我应该使用没有任何附加功能的结构,例如:

struct TMyStruct {
int v1;
std::string abc;
}

std::vector<TMyStruct> ms;
ms.push_back(TMyStruct());
ms.back().v1 = 1;
ms.back().abc = "text";
// etc...

最佳答案

成员函数(不包括需要指向虚函数指针表的指针的虚函数)不会影响类的大小。

关于c++ - 结构 vector 中自定义结构函数的内存使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58506841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com