单行类声明和实例化

时间:2018-08-07 18:18:03

标签: c++ class objectinstantiation

我偶然发现了使用以下语法的代码。

int main(){    
  class foo{
    public:
      int x;
      foo(int y){x=y;}
  }
  * bar = new foo(1);    
}

与更常见的相比,使用它有任何目的/后果吗?

int main(){    
  class foo{
    public:
      int x;
      foo(int y){x=y;}
  };

  foo * bar = new foo(1);    
}

1 个答案:

答案 0 :(得分:4)

这可能是一个见解,但我认为第一种方法是不良的编码实践。

  1. 它不会影响运行时行为。
  2. 这使代码更难阅读。