gpt4 book ai didi

c++ - Boost::ptr_vector 改变元素顺序

转载 作者:太空狗 更新时间:2023-10-29 20:58:52 26 4
gpt4 key购买 nike

拜托,有人能告诉我如何从同一个 ptr_vector 中切换两个元素的位置吗?新的动态内存分配。也就是说,我想使用 std::vector 执行与下面相同的操作,但使用 boost::ptr_vector

此外,这必须使用索引而不是 ptr_vector::iterator 来完成。

void switch( vector<int>& V , size_t i , size_t j){
int a = V[ j ];
V[ j ] = V[ i ];
V[ i ] = a;
}

谢谢大家。

最佳答案

(未经测试),我想它必须是这样的:

void switch( ptr_vector<int>& V , size_t i , size_t j){
auto p = V.replace(i, nullptr); // should get you the value there..
auto k = V.replace(j, p); // should get you the value there..
auto res = V.replace(i, k);
assert(res == nullptr); // this should be the case...
}

关于c++ - Boost::ptr_vector 改变元素顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26302702/

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