gpt4 book ai didi

c++ - 动态内存分配...这种类型的初始化怎么样?

转载 作者:行者123 更新时间:2023-11-28 02:32:21 29 4
gpt4 key购买 nike

要在堆上创建一个整数并将其初始化为值 5,我们这样做:

int* a = new int(5);

要在堆上创建一个包含 5 个整数的数组,我们这样做:

int* a = new int[5];            

但是,如果我们想创建一个包含 5 个整数的数组,并在一条指令中将每个整数初始化为 10,这可能吗?

为了让事情更有趣,让我们假设数组大小只会在运行时知道。那怎么样?

此外,我知道这是一个非常微不足道的问题,但我正在从 Java 进行此转换,有时会与 C++ 混淆,所以......如果在声明期间未初始化,那么与 Java 不同,C++ 原始数据类型没有用默认值初始化,并且包含垃圾值,对吧?

但是有人告诉我,如果它们被声明为全局变量,那么它们将被初始化为默认值,就像在 Java 中一样……这也是真的吗?为什么?

最佳答案

我更喜欢:

std::vector<int> a = {10,10,10,10,10};

关于c++ - 动态内存分配...这种类型的初始化怎么样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28642763/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com