gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 15:51:34 25 4
gpt4 key购买 nike

我是 C++ 的新手,想了解一些东西。我的 main.cpp 中有这段代码:

Radio r = Radio("PSR", 100.8);

或者那个代码:

Radio r("PSR", 100.8);

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

最佳答案

Radio r = Radio("PSR", 100.8);copy initializationRadio r("PSR", 100.8);direct initialization .

C++17

由于 mandatory copy elison 来自 C++17两者是等价的。

Radio r = Radio("PSR", 100.8); //from C++17 this is same as writing Radio r("PSR", 100.8);

C++17 之前

但是在 C++17 之前,第一种情况 Radio r = Radio("PSR", 100.8); 可能会导致创建一个临时的使用它r 是复制初始化的。这是因为在 C++17 之前,有 non-mandatory copy elison .


另一件需要注意的事情是,如果你要写:

type name(); //this is a function declaration

上面是一个名为name 的函数的声明,它的返回类型为type 并且有0 个参数。

关于c++ - Radio r = Radio ("PSR", 100.8) 和 Radio ("PSR", 100.8) 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72434416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com