gpt4 book ai didi

c++ - 有没有办法在声明时用缓冲区初始化数组?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:24:11 25 4
gpt4 key购买 nike

基本上,我正在尝试这样做:

char x[] = "hello";
char* y = new char[sizeof(x)](x); // won't work.

demo

有没有办法干净地做到这一点?请不要对不要使用原始数组或原始指针发表评论。

最佳答案

只写一个函数。

template<typename T, size_t N>
T* new_array(T const(&arr)[N])
{
T* p = new T[N];
std::copy(std::begin(arr), std::end(arr), p);
return p;
}

int main()
{
char x[] = "hello";
char* y = new_array(x);
}

关于c++ - 有没有办法在声明时用缓冲区初始化数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27724233/

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