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)
对于基本类型,没有区别.使用与现有代码一致的内容,看起来更自然.
除此以外,
A a(x);
Run Code Online (Sandbox Code Playgroud)
执行直接初始化,和
A a = x;
Run Code Online (Sandbox Code Playgroud)
执行复制初始化.
第二部分是成员初始化列表,在StackOverflow上有一堆关于它的问答.