gpt4 book ai didi

c++ - struct constructor会占用struct空间内的空间吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:19:32 25 4
gpt4 key购买 nike

大多数时候,我使用struct 来保存我的套接字通信数据结构的所有参数,然后我可以轻松地复制、传递或将整个结构放在套接字上,只需传递起始地址和它的大小。

如果我将构造函数添加到 struct 中用于可变短数组,构造函数是否会占用结构中的任何空间?或者我可以像对待没有构造函数的 struct 一样对待带构造函数的 struct ,然后将整个 struct 复制到带有它的套接字上起始地址和它的大小,它的空间还在不断分配?

最佳答案

不,非虚拟成员函数不会影响对象的 sizeof。至少存在一个虚函数(但是构造函数不能是虚函数),因为编译器通常通过指向函数指针数组(vtable)的指针(vpointer)来实现它们,因此它必须存储该指针(4 或 8通常为字节)。

关于c++ - struct constructor会占用struct空间内的空间吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30564517/

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