1

これに関連して、復帰constとそれが RVO と移動にどのように影響するかについて質問があります。私は通常、関数が次のようにconstオブジェクトを返すようにするのが好きです。

// Return const to help ensure the potential temporary can't be used incorrectly
const std::vector<int> foo()
{
    std::vector<int> bar(10, 42); // Note: this is not const
    return bar;
}

これが RVO と移動にどのように影響するかについて質問があります。私が次のことをした場合:

std::vector<int> myVector = foo();

constの戻り値の型は、 RVOfooや移動を阻害しますか? ローカル変数foo自体がそうでなくてもconst?RVO を利用してセマンティクスを移動したい場合、 を取り除く必要がありconstますか?

4

0 に答える 0