gpt4 book ai didi

c++ - 返回值是类名后跟一对空括号是什么意思?

转载 作者:太空狗 更新时间:2023-10-29 22:54:10 26 4
gpt4 key购买 nike

我想知道函数返回类/结构名称后跟圆括号是什么意思。

例如:

struct X{...}; //structure with static members

X g(){ return X(); };

我在以下链接中找到了这个: https://en.cppreference.com/w/cpp/language/static#Explanation

最佳答案

X() 

调用结构 X 的默认构造函数。

return X();

表示构造一个X的临时实例并返回。更具体地说,这里的临时文件是 pure r-value 将移动到 lvalue 调用函数的地方。

也就是

auto objectX = g();

通过上面的语句,objectX(左值)将通过移动从 g() 创建的临时对象来初始化。

在此处查看有关 C++ 中值类别的更多信息:https://en.cppreference.com/w/cpp/language/value_category

关于c++ - 返回值是类名后跟一对空括号是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57025272/

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