c++ - 初始化后可以调整 C++ 数组的大小吗?

标签 c++ arrays resize sizeof

<分区>

我正在学习编程,C++ 是我的第一语言。不要费心使用指针来告诉我 - 我还不理解它们,并且在我有更多空闲时间专注于此之前不会费心。

    int mergeSort()
{
    const int n = 9;
    int originalarray[n] = {1, 3, 5, 7, 9, 2, 4, 6, 8};


    const int halfelements = (sizeof(originalarray) / sizeof(int)) / 2;
    int farray[halfelements];
    int sarray[halfelements];

    for (int i = 0; i < halfelements; i++) {
        farray[i] = originalarray[i];
    }

    for (int i = halfelements, x = 0; i < (halfelements * 2); i++, x++) {
        sarray[x] = originalarray[i];
    }

我被分配(我没有上课 - 只是和几个帮助我的 friend 一起学习)一个合并排序算法,解释了算法但没有实现。我想重写它,以便它适用于奇数和偶数。我尝试添加这段代码:

if ((n % 2) != 0) int farray[halfelements + 1];

这样我就可以使用相同的整数来遍历两个后续数组。 sizeof(farray) 显示为 16 个字节,或 4 个整数。所以它没有调整大小。我想知道的是 - 是否可以在初始化后调整数组大小?

编辑:我将如何实现 vector ?我不明白如何在循环中使用迭代器来迭代和复制值。

最佳答案

C++ 数组的大小是固定的。

如果你需要一个“可调整大小的数组”,你会想要使用 std::vector而不是数组。

关于c++ - 初始化后可以调整 C++ 数组的大小吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/756906/

相关文章:

javascript - 使用 PHP 和 JavaScript 列出目录中的文件

javascript - 如何查看 "overflow: auto;"何时从 "scroll"变为 "none"- 简单解决方案

java - 调整 JScrollPane 大小的最佳实践

c++ - 我应该如何访问 Boost SHA1 哈希?

c++ - 崩溃,同时打印链表的内容

php - 如何合并两个多维数组

opengl - 调整过剩窗口的大小

c++ - Valgrind 在 sqlite3_step 中报告未初始化的值

c++ - QSqlQuery 插入字符

arrays - 在批处理脚本中将数组作为参数传递