gpt4 book ai didi

c++ - 在 C++11 中,虚函数能否通过 move 语义有效地返回一个大值?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:05:11 26 4
gpt4 key购买 nike

通常,这会被优化为不涉及复制大值(因为 std::vector 启用了 move 语义):

std::vector<int> makeABigThing(){
std::vector<int> large_thing(1000, 0);
return large_thing;
}

如果函数是虚方法,是否也可以用同样的方式优化:

struct Foo{
virtual std::vector<int> makeABigThing(){
std::vector<int> large_thing(1000, 0);
return large_thing;
}
};

即,即使在运行时选择了被调用的函数, move 语义是否也适用?

最佳答案

函数是静态解析还是动态解析不影响 move 结果的可能性。

关于c++ - 在 C++11 中,虚函数能否通过 move 语义有效地返回一个大值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12923147/

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