这可能是个愚蠢的问题,但我还是有点好奇... 最近我在做我以前同事的一个项目,我注意到他真的很喜欢使用这样的东西:
int foo(7);
代替:
int foo = 7;
这是用 C++ 语言做的正常/好的方法吗? 它有什么好处吗? (或者这只是他喜欢的一些愚蠢的编程风格......?)
这真的让我想起了一个如何在类构造函数中分配类成员变量的好方法......像这样:
class MyClass
{
public:
MyClass(int foo) : mFoo(foo)
{ }
private:
int mFoo;
};
而不是这个:
class MyClass
{
public:
MyClass(int foo)
{
mFoo = foo;
}
private:
int mFoo;
};
最佳答案
对于基本类型没有区别。使用与现有代码一致且对您来说看起来更自然的那个。
否则,
A a(x);
执行直接初始化,以及
A a = x;
执行复制初始化。
第二部分是成员初始化列表,StackOverflow 上有很多关于它的问答。
关于c++ 变量赋值,这是一种正常的方式吗..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12285081/