C++ 如何删除字符串中的字符?
以下面的代码为例C++ 如何删除字符串中的字符?,c++,string,c++11,C++,String,C++11,以下面的代码为例 string str = "Alice ate apples"; str.erase(0, 2) 擦除函数是否实际分配了新内存并复制了“ice ate apples”或擦除函数是否进行了就地复制?对于basic\u string实现而言,使用迭代器形式的erase抛出异常是非法的。即使是erase的索引形式也只有在提供超出范围的索引时才会抛出 这很重要,因为分配内存是一个潜在的抛出操作。因此,如果erase不能抛出,那么它也不能分配。所以它没有 因此,必须在适当的地方进行擦
string str = "Alice ate apples";
str.erase(0, 2)
擦除函数是否实际分配了新内存并复制了“ice ate apples”或擦除函数是否进行了就地复制?对于
basic\u string
实现而言,使用迭代器形式的erase
抛出异常是非法的。即使是erase
的索引形式也只有在提供超出范围的索引时才会抛出
这很重要,因为分配内存是一个潜在的抛出操作。因此,如果erase
不能抛出,那么它也不能分配。所以它没有
因此,必须在适当的地方进行擦除