Redian新闻
>
这里需要考虑避免C++ vector的复制吗?
avatar
这里需要考虑避免C++ vector的复制吗?# Programming - 葵花宝典
y*h
1
99.99,用上20% off的coupon后80块,无rebate。居住在飓风带、地震带、
暴雪带的可能用得着。
avatar
d*a
2
还是Win 8的靠谱
现在,只好继续用我的A500了
avatar
b*i
3
一个类Bird,另有一个管理它的类BirdManager有个函数Birds()返回std::vector
BirdManager::Birds(){
std::vector ret;
for(...)
// put all managed bird to ret
return ret;
}
Boost_Test...{
auto vb = zoo->BirdManager().Birds();
...
}
代码审查告诉我要考虑这里复制的问题。我觉得本来就会优化掉的吧?
avatar
S*r
4
我觉得transformer还行. 昨天把4年前买的 7 inch 3* windows tablet拿出来玩了一
下, 速度好慢啊。
avatar
l*s
5
你这个情况基本上会被编译器优化掉。
avatar
H*u
6
为啥assume编译器会为你优化哪?
当然vector定义了rhv的copy constructor,但是用一下move不好吗?
现在我老写c++代码都不敢用raw pointer,

Bird*>

【在 b***i 的大作中提到】
: 一个类Bird,另有一个管理它的类BirdManager有个函数Birds()返回std::vector
: BirdManager::Birds(){
: std::vector ret;
: for(...)
: // put all managed bird to ret
: return ret;
: }
: Boost_Test...{
: auto vb = zoo->BirdManager().Birds();
: ...

avatar
b*s
7
典型的rvo场景
avatar
h*l
8
return value optimization, don't move.

Bird*>

【在 b***i 的大作中提到】
: 一个类Bird,另有一个管理它的类BirdManager有个函数Birds()返回std::vector
: BirdManager::Birds(){
: std::vector ret;
: for(...)
: // put all managed bird to ret
: return ret;
: }
: Boost_Test...{
: auto vb = zoo->BirdManager().Birds();
: ...

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。