gpt4 book ai didi

c# - 使用new时的数组初始化

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:52:07 25 4
gpt4 key购买 nike

在 C# 中我可以这样做:

char[] a = new char[] {'a', 'a', 'a'};

但是我可以用 C++ 做类似的事情吗?我试过:

char *a = new char [] {'a', 'a', 'a'};

但它无法编译。

最佳答案

这是 C++ 规范中的错误(不允许编译这个简单的构造)。您需要提供尺寸

char *a = new char [3] {'a', 'a', 'a'};

参见 http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1469 .请注意,如果您将类型名称括在括号中,它是一个 type-id 而不是 new-type-id ,因此在语法上允许您省略大小表达式。所以你也许能够找到一个允许你说的实现

char *a = new (char[]){'a', 'a', 'a'};

虽然很明显这不是可能的明确意图(并且 new 段落中的一些规则可以解释为禁止它)。

关于c# - 使用new时的数组初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14800281/

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