我在 C 中有一些代码在整个代码中都使用了结构。 我主要使用 memset 或 memcpy 从/向缓冲区复制数据。
想知道这在 C++ 中是否有效?。 ' 根据 MSDN:
In C++, a structure is the same as a class except that its members are public by default.
这意味着 C++ 编译器会将内部结构插入到结构对象中,而 memset 或 memcpy 将不会像在 C 中那样工作。
此外,'this' 指针是否也适用于结构?有什么方法可以阻止编译器将任何 C++ 类型的东西插入到我的对象中?
最佳答案
只要您的结构不使用任何 C++ 构造(虚拟主义等),即使在 C++ 中,memcpy
和 memset
也可以在它们上工作。
另外,'this'指针是否适用于结构?
是的,this
指针适用于结构,因为它适用于类。
有什么方法可以阻止编译器向我的对象中插入任何 C++ 风格的东西吗?
除非您对结构使用任何 C++ 构造,否则编译器不会。
关于c++ - C++ 中的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10578084/