如何在c ++中删除数值并将其附加到数组中?

时间:2016-08-17 22:02:02

标签: c++ arrays

我是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}

任何人都可以帮助我。

感谢。

1 个答案:

答案 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;
}