c++ - 结构与类的性能

标签 c++ performance class struct

我想知道 C++ 中的类和 C 风格结构与 g++ -O3 选项是否有性能比较。有没有关于这个的基准或比较。我一直认为 C++ 类比结构更重且可能更慢(编译时间对我来说不是很重要,运行时间更重要)。我要实现一个 B-tree,为了性能,我应该用类还是用结构来实现它。

最佳答案

在运行时级别上,C++ 中的结构和类完全没有区别。 因此,无论您在代码中使用 struct A 还是 class A,都不会产生任何性能差异。

另外,使用一些特性——比如构造函数、析构函数和虚函数——可能会有一些性能损失(但如果你使用它们,你可能仍然需要它们)。但是你可以在你的类或结构中同样成功地使用它们。

this document您可以阅读 C++ 其他与性能相关的细节。

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

相关文章:

c++ - 有没有办法向该类的客户隐藏该类的私有(private)成员?

javascript - 由于 1000 个 "on"事件,Firebase 后端 UI 在 cron 作业期间卡住

c - 如何优化我的代码,计算小于 200 万的所有总和

python - Pandas read_hdf 对于非数字数据非常慢

python - 当在 Python 中创建一个类并使用引用它的对象时,您将如何使用该类中的对象名称?

c++ - 将数据写入由 CFileDialog 在 C++ 中创建的 .txt 文件

c++ - 检查是否使用 MATLAB mex 编译

c++ - IDispatch::Invoke(DISPATCH_PROPERTYGET) 是否会增加返回的 IDispatch 接口(interface)的引用计数?

c++ - 使用类的 C++ 方法的链表

python - 将实例变量设置为类函数的默认参数