erase如何删除第一个字符
时间: 2024-10-14 11:09:16 浏览: 16
c++字符串全套笔记全解
如果你想通过`erase`函数删除容器的第一个字符,你需要知道容器的具体类型和它提供的迭代器风格。这里有一些示例:
1. **`std::string`**: 使用内置索引来获取第一个字符并传递给`erase`,然后减一以避免删除空字符。例如:
```cpp
std::string str = "Hello";
str.erase(str.begin()); // 删除第一个字符,结果为"ello"
```
2. **`std::vector<char>`**: 类似地,可以使用`begin()`方法获取第一个元素:
```cpp
std::vector<char> vec{'H', 'e', 'l', 'l', 'o'};
vec.erase(vec.begin()); // 删除第一个字符,结果为{'e', 'l', 'l', 'o'}
```
3. **`std::list`**: 这里需要迭代器,你可以这样做:
```cpp
std::list<char> lst {'H', 'e', 'l', 'l', 'o'};
lst.erase(lst.begin()); // 删除第一个字符,结果为{'e', 'l', 'l', 'o'}
```
请注意,以上例子都是假设你想要删除的是第一个存在的元素。如果你想要确保总是删除第一个特定值(而不是第一个出现的位置),则需要先查找该元素。
阅读全文