c++ - 单行类声明和实例化

标签 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. 它不会影响运行时行为。
  2. 这使得代码更难阅读。

关于c++ - 单行类声明和实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51733125/

相关文章:

java - 实例化一个没有默认构造函数的类

c++ - 在类中声明对象时可能会导致此错误的原因是什么?

C++指针返回0值

c++ - 用于从 std::map 的最后 n 个元素创建 std::vector 的惯用 C++

c++ - g++ 中的链接问题

c++ - GstCaps过滤器问题

用于调用 SOAP - Web 服务的 Java 类

Python 在类实例调用时崩溃

具有成员函数的 C++ 结构与具有公共(public)变量的类

java - Map<String, String> 和 Map<> 的区别?