假设我有一个只有一个构造函数的类:
class T {
public:
T(BigClass&& big) : big(std::move(big)) {}
...
SomeBigClass
};
在大多数地方,构造函数是在临时对象上调用的,但在一个地方我需要制作 BigClass 的显式副本,因为它不是临时的,并且将在循环中多次使用:
void foo(const BigClass& big) {
while (...) {
T t(std::make_a_copy(big));
...
}
}
在 C++11 或 C++14 中是否有任何“双重”函数std::move
可以取代上面的 make_a_copy ?
编辑:一些澄清。