c++ - 通过按键删除 vector 元素

标签 c++ vector encapsulation friend

我定义了以下内容并用元素填充它:

vector <vector<double> > my_vector;

但我想要删除具有特定键的元素...

my_vector.erase(int(specific_key));

但它不允许我。我如何正确处理分配给该键的元素?

最佳答案

假设specific_key你的意思是 vector 中该位置的元素:

my_vector.erase(my_vector.begin() + specific_key);

将是“最正确”的答案。

如果您想删除与 specific_key 匹配的元素(在给定示例中,其类型必须为 vector<double>:

my_vector.erase(find(my_vector.begin(), my_vector.end(), specific_key));

关于c++ - 通过按键删除 vector 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1692156/

相关文章:

c++ - 存储对类成员的引用。有什么好的解决办法吗?

C++条件语句来测试变量是否为字符串

c++ - C++访问静态结构,需要初始化

c++ - 如何在 C++ 中逻辑组织源文件

c++ - 如何让同一个类的对象在同一个函数中做不同的事情?

c++ - 在包含 Eigen 类型的类上使用 ` Eigen::aligned_allocator` on `std::vector`

c++ - 将 std::find() 与反向迭代器一起使用

c++ 创建新对象时 : iterator not incrementable

java - 实现不违反封装的 OOP 委托(delegate)

php - 为什么不在 PHP 中使用 'protected' 或 'private'?