假设我有这个功能:
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++ 新手,正在尝试理解一些东西。我的 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