相关疑难解决方法(0)

C++实例初始化语法

鉴于这样的类:

class Foo {
public:
    Foo(int);

    Foo(const Foo&);

    Foo& operator=(int);

private:
    // ...
};
Run Code Online (Sandbox Code Playgroud)

这两条线是完全相同的,还是它们之间有细微差别?

Foo f(42);

Foo f = 42;
Run Code Online (Sandbox Code Playgroud)

编辑:通过在原始问题中使Foo构造函数"显式",我感到困惑.我删除了,但欣赏答案.

我还添加了一个复制构造函数的声明,以明确复制可能不是一个简单的操作.

我真正想知道的是,根据C++标准,"Foo f = 42"会直接调用Foo(int)构造函数,还是会调用复制构造函数?

看起来fasih.ahmed有我正在寻找的答案(除非它是错的).

c++ initialization

11
推荐指数
2
解决办法
9259
查看次数

标签 统计

c++ ×1

initialization ×1