我是c ++的初学者,我想知道如何删除数据并将其附加到数组。
我的意思是这样的:
int arr[] = {1, 2, 3, 4}
我想把它变成:
int arr[] = {1, 2, 3}
删除数组的最后一个值。
此外,
我想知道如何将a值附加到数组的末尾。像这样:
int arr[] = {1, 2, 3, 4}
进入这个:
int arr[] = {1, 2, 3, 4, 5}
任何人都可以帮助我。
感谢。
答案 0 :(得分:3)
如果没有new
/ delete
,你就不能,但std::vector
更好。这是两者的一个例子。
#include <iostream>
#include <vector>
int main() {
// With new/delete:
int *array = new int[3];
array[0] = 1;
array[1] = 2;
array[2] = 3;
// `array` processing...
int *array2 = new int[4];
for (int i = 0; i < 3; i++) {
// copy old data into new array (array2)
array2[i] = array[i];
}
array2[3] = 4;
delete []array;
// `array2` processing...
delete []array2;
// With STL vector:
std::vector<int> array3;
array3.resize(3);
array3[0] = 1;
array3[1] = 2;
array3[2] = 3;
// `array3` processing...
// Add any number of elements
array3.push_back(4);
// resized `array3` processing...
return 0;
}