c ++变量赋值,这是正常的方式..?

Ged*_*nas 8 c++ variables styles variable-assignment

这可能是一个愚蠢的问题,但我仍然有点好奇......最近我正在研究我以前的一个同事项目,我注意到他真的喜欢使用这样的东西:

int foo(7);
Run Code Online (Sandbox Code Playgroud)

代替:

int foo = 7;
Run Code Online (Sandbox Code Playgroud)

这是用C++语言做的正常/好的方法吗?它有什么好处吗?(或者这只是他进入的一些愚蠢的编程风格..?)

这真的让我想起了如何在类构造函数中分配类成员变量的好方法...像这样:

class MyClass
{
public:
   MyClass(int foo) : mFoo(foo)
   { }

private:
   int   mFoo;
};
Run Code Online (Sandbox Code Playgroud)

而不是这个:

class MyClass
{
public:
   MyClass(int foo)
   {
      mFoo = foo; 
   }

private:
   int   mFoo;
};
Run Code Online (Sandbox Code Playgroud)

Luc*_*ore 9

对于基本类型,没有区别.使用与现有代码一致的内容,看起来更自然.

除此以外,

A a(x);
Run Code Online (Sandbox Code Playgroud)

执行直接初始化,和

A a = x;
Run Code Online (Sandbox Code Playgroud)

执行复制初始化.

第二部分是成员初始化列表,在StackOverflow上有一堆关于它的问答.