相关疑难解决方法(0)

复制初始化和直接初始化之间有区别吗?

假设我有这个功能:

void my_test()
{
    A a1 = A_factory_func();
    A a2(A_factory_func());

    double b1 = 0.5;
    double b2(0.5);

    A c1;
    A c2 = A();
    A c3(A());
}
Run Code Online (Sandbox Code Playgroud)

在每个分组中,这些陈述是否相同?或者在某些初始化中是否有额外的(可能是可优化的)副本?

我见过有人说过这两件事.请引用文字作为证据.还请添加其他案例.

c++ initialization

230
推荐指数
5
解决办法
5万
查看次数

Radio r = Radio("PSR", 100.8) 和 Radio("PSR", 100.8) 有什么区别?

我是 C++ 新手,正在尝试理解一些东西。我的 main.cpp 中有这段代码:

Radio r = Radio("PSR", 100.8);
Run Code Online (Sandbox Code Playgroud)

或该代码:

Radio r("PSR", 100.8);
Run Code Online (Sandbox Code Playgroud)

两者似乎都有效并且做同样的事情。那么有什么区别呢?

c++ constructor initialization variable-initialization visual-studio

2
推荐指数
1
解决办法
123
查看次数