C++ 临时会员也是临时会员吗?

C++ 临时会员也是临时会员吗?,c++,move,compiler-optimization,C++,Move,Compiler Optimization,给定如下函数: Foo MakeFoo(const std::string& name); 假设为Foo定义了移动构造函数,因为RHS是临时的,所以我们可能希望以下内容是移动构造的: auto foo = MakeFoo("foo 1"); 对于临时性领域也是如此吗?例如,在: auto bar = MakeFoo("foo 2").bar; 假设decltype(Foo::bar)同时定义了复制和移动构造,是否保证使用其中一种,是否以任何方式依赖于编译器优化级别

给定如下函数:

Foo MakeFoo(const std::string& name);
假设为
Foo
定义了移动构造函数,因为RHS是临时的,所以我们可能希望以下内容是移动构造的:

auto foo = MakeFoo("foo 1");
对于临时性领域也是如此吗?例如,在:

auto bar = MakeFoo("foo 2").bar;
假设
decltype(Foo::bar)
同时定义了复制和移动构造,是否保证使用其中一种,是否以任何方式依赖于编译器优化级别