gpt4 book ai didi

c++ - 我可以从 new[] 分配一个指向字符数组的指针吗

转载 作者:行者123 更新时间:2023-11-28 01:37:06 25 4
gpt4 key购买 nike

我的类有一个成员声明为:char (*buf)[]。据我了解,这是一个指向具有未定义维度的字符数组的指针。在我的逻辑中,我想为这个数组动态分配内存:

buf = new char[100];

但是 new 返回一个 char * 所以编译器提示

 error: assigning to 'char (*)[]' from incompatible type 'char *'

有没有办法将此指针存储在指向字符数组的指针中?如果不是,那么能够像我上面那样声明指针有什么用?

我认为如果我可以存储数组指针并稍后在我调用 delete(不带 [])时让编译器警告我,这将很有用。

最佳答案

你可以用 Actor 做你想做的事:

char (*buf)[];
buf = (char (*)[])new char[100];

(*buf)[0] = 5; // Assignment

//delete buf; <- compiler warning
delete[] buf;

关于c++ - 我可以从 new[] 分配一个指向字符数组的指针吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48831860/

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