c++ insert
时间: 2024-02-09 09:29:50 浏览: 71
C++中的insert()函数有多种用法。首先,可以在指定位置之前插入一个值为val的元素,并返回指向这个元素的迭代器。使用方式为:iterator insert(iterator it, const TYPE &val)。其次,可以在指定位置之前插入num个值为val的元素。使用方式为:void insert(iterator it, size_type num, const TYPE &val)。最后,可以在指定位置之前插入区间[start, end)的所有元素。使用方式为:void insert(iterator it, input_iterator start, input_iterator end)。举例来说,如果我们有一个vector<char> charV,其中已经存放了字母表的前十个字符,我们可以使用insert()函数在指定位置之前插入四个字符'C'。具体代码如下:
```cpp
vector<char> charV;
for (int i = 0; i < 10; i++) {
charV.push_back(i + 65);
}
vector<char>::iterator it = charV.begin();
charV.insert(it, 4, 'C');
```
执行以上代码后,charV中的内容将变为"CCCCABCDEFGHIJ"。[1]
另外,对于字符串string,也可以使用insert()函数进行插入操作。例如,我们有一个字符串str1,其内容为"hello",我们可以在指定位置之前插入两个字符'a'。具体代码如下:
```cpp
string str1 = "hello";
str1.insert(str1.begin(), 2, 'a');
cout << str1 << endl;
```
执行以上代码后,str1的内容将变为"haaello"。[2]
还可以将insert()函数的返回值赋给另一个字符串,以实现在指定位置之前插入字符的操作。例如,我们有一个字符串str1,其内容为"hello",我们可以在第0个位置之前插入两个字符'x',并将结果赋给另一个字符串str2。具体代码如下:
```cpp
string str1 = "hello";
string str2 = str1.insert(0, 2, 'x');
cout << str2 << endl;
```
执行以上代码后,str2的内容将为"xxhello"。[3]
阅读全文