gpt4 book ai didi

c++ - 将 valarray 转换为基本数组

转载 作者:行者123 更新时间:2023-11-30 01:38:24 25 4
gpt4 key购买 nike

我们可以初始化一个valarray来自基本的用户定义数组,如下所示:

int arr[3]={0};
valarray<int> test(arr, sizeof(arr)/sizeof(int));

我们怎样才能反过来呢?假设我们有一个 valarray<int>我们需要转换回基本的用户定义数组吗?我没有在文档中找到任何内容。

最佳答案

您不能从 valarray 创建数组由于大小为 valarray 而无需使用动态内存对象在编译时未知。

std::valarray<int> test{10, 20};
int arr[test.size()]; // Not standard C++. Some compilers support this
// as an extension.

// This is how you can get a dynamic array from a valarray.
int* arr = new int[test.size()];
std::copy(begin(test), end(test), arr);

使用std::vector<int>会更好而不是尝试在应用程序代码中管理动态分配的内存。

std::vector<int> arr(begin(test), end(test));

关于c++ - 将 valarray 转换为基本数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47928653/

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