= 和 {} 类内初始化的区别

问题描述

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

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 类中的字段初始化方式会有所不同吗?

with = 将是副本初始化,所以 with {} 应该更有效?或者在类内初始化的情况下,它们是相等的,只是提供不同的语法?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)