c++ - 构造函数会影响性能吗?

标签 c++ performance optimization constructor initialization

我的类有 3 个声明为公共(public)的成员变量, 我最初可以在代码中的任何地方显式地使用它,但我仍然编写了带有初始值的构造函数,这个构造函数是否会影响性能开销?

class ABC{
    public:
    int a;
    int b;
    int c;

    ABC (): a(0) , b(0), c(0) 
    {
    }
};

请让我知道构造函数是否会增加性能开销?

最佳答案

初始化可能会产生少量成本。然而:

  1. 如果编译器可以证明它们是不必要的,它可能能够消除初始化。

  2. 即使成本很小,也很有可能与整个应用程序的上下文完全无关。您可以使用分析器来量化性能影响。

  3. 它让您放心,因为知道这三个字段将始终被初始化,从而消除了某些类型的潜在错误。

关于c++ - 构造函数会影响性能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18493788/

相关文章:

c++ - 使用基类的泛型方法指针调用派生类的方法

c++ - 向 vector 中插入数据时多次调用复制构造函数

c++ - 当用户尝试第二次运行时如何激活已经打开的应用程序?

c++ - 有或没有虚拟的子类与性能与便利性

python - islice 一次读取 N 行的问题

python - 使用多线程/多处理加速抓取

c++ - 除非声明并返回临时值,否则函数返回疯狂值?

php - SQL执行时间太长

python - 查找给定范围内其除数之和具有完美平方的数字,并将它们与相关平方一起返回

c# - Empty Infinite While 循环的 CPU 使用率增加