当我想在类定义中放入初始值时,有两种方法可以完成:使用 {} 和 =
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 类中,初始化字段的方式会有所不同吗?
用=会是拷贝初始化,那么用{}应该更高效吧?或者在类内初始化的情况下它们是相等的并且只是提供不同的语法?