gpt4 book ai didi

c++ - 了解调用哪个构造函数

转载 作者:搜寻专家 更新时间:2023-10-31 01:33:10 24 4
gpt4 key购买 nike

<分区>

我有一个存储 int 的结构:

struct foo {
int value;

foo(int value) : value(value) {
std::cout << "value constr\n";
}

foo(foo const&) {
std::cout << "copy constr\n";
}

foo(foo&&) {
std::cout << "move constr\n";
}
};

在主要方法中,我执行以下操作:

foo bar = foo(foo(foo(42)));

那时我希望首先调用通常的构造函数,然后多次 move 构造函数,因为参数将是一个右值。然而,输出只是“value constr”。

为什么既不调用复制构造函数也不调用 move 构造函数,这个例子中实际发生了什么?

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