new int[10] 和 new int[10]()区别

直接上结果

#include <iostream>

using namespace std;

int main() {
    int* A = new int[10];
    int* B = new int[10]();
    for(int i = 0; i < 10; ++i) {
        cout << A[i] << " ";
    }
    cout << endl;
    for(int i = 0; i < 10; ++i) {
        cout << B[i] << " ";
    }
    cout << endl;
    return 0;
}

0 536870912 0 536870912 -957349872 32767 -1114432673 32767 -957337400 32767
0 0 0 0 0 0 0 0 0 0

由结果可知new int[10] 只初始化第一个数为0, new int[10] ()将分配的内存全部初始化为 0

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,823评论 18 399
  • 阅读目录前言new与malloc的10点区别1. 申请的内存所在位置2.返回类型安全性3.内存分配失败时的返回值4...
    yangqi916阅读 2,027评论 0 4
  • C语言中内存分配 在任何程序设计环境及语言中,内存管理都十分重要。在目前的计算机系统或嵌入式系统中,内存资源仍然是...
    一生信仰阅读 1,213评论 0 2
  • 一. Java基础部分.................................................
    wy_sure阅读 3,854评论 0 11
  • 止不住的泪,把我所有的自尊自强都卸下,感觉像受了屈辱一样,却又无力改变,只有接受,接受,然后去享受这突如其来的暴风...
    静梦园阅读 187评论 0 1