0

当我想在类定义中放入初始值时,有两种方法可以完成:使用 {} 和 =

class A
{
public:
   int a = 1;
   bool b = false;
   someClass* obj = nullptr;
};

class B
{
public:
   int a {1};
   bool b {false};
   someClass* obj {nullptr};
};

这两个选项有什么区别吗?在 A 类和 B 类中,初始化字段的方式会有所不同吗?

用=会是拷贝初始化,那么用{}应该更高效吧?或者在类内初始化的情况下它们是相等的并且只是提供不同的语法?

4

0 回答 0