【问题标题】:What's the difference between these two ways of creating a C++ class? [duplicate]这两种创建 C++ 类的方法有什么区别? [复制]
【发布时间】:2015-11-25 15:07:25
【问题描述】:

我不知道如何正确命名这些东西。我想创建一个类,用变量和默认值声明并定义它的构造函数。我发现这两种方式都有效。但是有什么区别呢?其中一个是正确的还是两者都是好的?

class Box
{
   public:
   int size;
      Box() {size = 6;};
};


class Box
{
   public:
   int size;
      Box(): size(6) {};
};

【问题讨论】:

  • 第二个应该是首选。
  • 有什么原因(比如性能什么的)?还是只是约定俗成?
  • 主要是性能,也有一些情况下初始化列表是强制性的(例如,引用的初始化、常量变量等)

标签: c++


【解决方案1】:

对于int,差别不大,但是对于复杂的类,初始化列表更好。

考虑const intint &,它们显示了语法上的好处

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-25
    • 2019-08-16
    相关资源
    最近更新 更多