C++:结构的构造函数?

标签 c++ performance class constructor struct

C++:既然结构是一个包含所有“公共(public)”元素的类,那么是否创建和调用了默认构造函数?

我问的原因是要了解在使用结构时 C++ 可能比 C 有的开销(如果有的话)。我听到的一种观点是,在 C++ 中,类有一些结构没有的开销,但我对此表示质疑。

最佳答案

在 C++ 中,除了结构成员的默认可见性是公共(public)的,而类成员默认为私有(private)之外,没有区别。

就性能而言,结构构造将与类构造一样快。 实际速度当然取决于您的结构包含的内容。如果您将 C 结构移至 C++,您的结构将仅包含 POD 类型(普通旧数据 - 无类),它们无论如何都没有构造函数。

关于C++:结构的构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/250033/

相关文章:

c++ - 使用 CMake 导入错误编译带有嵌入式 Python 的 C++

Android 内存泄漏 - setBackgroundDrawable - 带有图像

javascript - 切换 vs 对象查找性能(因为 jsperf 已关闭)

javascript - 在javascript中动态扩展一个类

python - 如何将列表转换为 Flask 模板的类对象

c++ - 显式调用普通的默认构造函数会导致额外的赋值调用

c++ - vim 或 gcc 无法解释的行为

javascript - 是否有必要减少 phonegap 应用程序对本地资源的请求?

c++ - C++ 中的 this->data 和 (*this).data 有什么区别

c++空队列初始化在Qt Creator中不为空