c++ - C++ 中的结构

标签 c++ compiler-construction

我在 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++ 中,memcpymemset 也可以在它们上工作。

另外,'this'指针是否适用于结构?
是的,this 指针适用于结构,因为它适用于类。

有什么方法可以阻止编译器向我的对象中插入任何 C++ 风格的东西吗?
除非您对结构使用任何 C++ 构造,否则编译器不会。

关于c++ - C++ 中的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10578084/

相关文章:

compiler-construction - 直接编码与表驱动的词法分析器?

c++ - VS2010 : Manifest authoring error c1010097: Element <dependency> missing Key Element: "assemblyIdentity" in the manifest snippet

c++ - Python PIL Image.tostring ('raw' ) 和 OpenCV 的 IplImage->imageData

c++ - Carbide/Symbian C++ - 更改应用程序图标

scala - 在特定阶段后停止 Scala 编译

c# - LINQ 的问题 - 有必要添加对不需要的库的引用

java - 有没有机器独立的编译器?

c++ - 枚举 [标签] [ : type] {enum-list} [declarator] in C++ - is this legal?

c++ - 检测结构是否有填充

生成轻量级可执行文件的 C 编译器