私が説明していることの正気を無視してstd::move()
、基本コンストラクターに引数を渡すために関数を使用すると、構築時間が改善されますか?
struct Bar {
Bar(std::string);
std::string _s;
}
struct Foo : public Bar {
Foo(std::string);
}
struct Bar(std::string bs) : _s(std::move(bs)) {
// 1
}
struct Foo(std::string fs) : Bar(std::move(fs)) {
// 2
}
では、この例では、のコンストラクターmove()
で使用されてFoo
いるため、文字列の追加のコピーが作成されるのを防ぐことができますか?
bs
明確にするために、この設計は、 とfs
ポイント// 1
で とを使用しようとするべきではないことを意味しますが、両方の場所で使用しても安全ですか// 2
?_s