You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++多维数组声明实现:与Python写法的对比及相关疑问

C++等效实现说明

容器选型结论

你的Python示例中使用的是动态可变长度的嵌套列表,对应C++场景优先选择std::vector实现,不推荐用普通数组:

  • 普通数组是固定长度的栈内存结构,长度必须在编译期确定,不支持动态追加元素,和Python列表的特性不匹配
  • std::vector是C++标准库提供的动态数组容器,支持自动扩容、动态增删元素,和Python列表的行为最接近

等效实现代码

#include <vector>

int main() {
    // 等效Python代码:arr = [[], []],初始化外层vector,包含2个空的int型子vector
    std::vector<std::vector<int>> arr(2);
    
    // 等效Python的循环逻辑
    for (int i = 0; i < 2; ++i) {
        arr[i].push_back(1); // 等效Python的append(1)方法
    }
    return 0;
}

补充说明

  • 如果后续需要向外层数组新增空子数组,调用arr.push_back(std::vector<int>())即可,和Python的arr.append([])逻辑完全一致
  • 仅当你提前100%确定数组长度不会发生任何变更、且对性能有极致要求时,才考虑使用普通数组或std::array,常规动态数组场景优先用std::vector

内容的提问来源于stack exchange,提问作者Jailbone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 09:24:00