首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从boost :: ptr_vector中删除元素

要从boost::ptr_vector中删除元素,您可以使用erase()函数。以下是一个简单的示例,说明如何从boost::ptr_vector中删除元素:

代码语言:cpp
复制
#include<boost/ptr_container/ptr_vector.hpp>
#include<iostream>

int main() {
    boost::ptr_vector<int> ptr_vec;

    // 向ptr_vector中添加元素
    ptr_vec.push_back(new int(1));
    ptr_vec.push_back(new int(2));
    ptr_vec.push_back(new int(3));

    // 打印ptr_vector的元素
    std::cout << "Before erase:"<< std::endl;
    for (const auto& elem : ptr_vec) {
        std::cout<< elem << " ";
    }
    std::cout<< std::endl;

    // 删除指定位置的元素
    ptr_vec.erase(ptr_vec.begin() + 1);

    // 打印ptr_vector的元素
    std::cout << "After erase:"<< std::endl;
    for (const auto& elem : ptr_vec) {
        std::cout<< elem << " ";
    }
    std::cout<< std::endl;

    return 0;
}

在这个示例中,我们首先向ptr_vector中添加了三个整数元素。然后,我们使用erase()函数删除了位于索引1的元素(即第二个元素)。最后,我们打印了删除元素之前和之后的ptr_vector

请注意,boost::ptr_vector会自动管理其内部指针,因此在删除元素时,它会自动删除相应的内存。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券