Однострочное объявление класса и создание экземпляров

Я наткнулся на код, используя следующий синтаксис.

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 ответ

Решение

Это, вероятно, вопрос мнения, но я думаю, что первый метод - плохая практика кодирования.

  1. Это не влияет на поведение во время выполнения.
  2. Это делает код сложнее для чтения.
Другие вопросы по тегам