struct构造函数将占用struct空间中的空间?

pet*_*ton 5 c++ sockets struct

大部分时间我struct用来保存套接字通信数据结构的所有参数,然后我可以通过传递起始地址及其大小轻松地复制,传递或将整个结构放在套接字上.

如果我struct为一个变量短数组添加一个构造函数,构造函数是否会占用struct中的任何空格?或者我可以struct使用构造函数处理与没有构造函数的构造函数相同struct,并将整个structon 复制到具有其起始地址和大小的套接字,并且其空间仍然是连续分配的?

vso*_*tco 7

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