valarray相关内容

C++ valarray 与向量

我非常喜欢矢量.它们既漂亮又快速.但我知道这个叫做 valarray 的东西是存在的.为什么我要使用 valarray 而不是向量?我知道 valarrays 有一些语法糖,但除此之外,它们什么时候有用? 解决方案 Valarrays(值数组)旨在将 Fortran 的某些速度带到 C++.您不会创建一个 valarray 指针,因此编译器可以对代码做出假设并更好地优化它.(Fortran ..
发布时间:2022-01-07 11:02:18 C/C++开发

为什么 valarray 在 Visual Studio 2015 上这么慢?

为了加快库中的计算速度,我决定使用 std::valarray 类.文档 说: std::valarray 和 helper 类被定义为不包含某些别名的形式,从而允许对这些类的操作优化类似于C中关键字restrict的效果编程语言.此外,函数和运算符允许 valarray 参数返回代理对象以使其成为编译器可以优化表达式,例如 v1 = a * v2+ v3;作为执行 v1[i] = a * ..
发布时间:2021-06-12 20:50:04 C/C++开发

valarray与vector:为什么引入valarray?

是的,之前曾有人问过这个 ,答案是: valarray s(值数组)旨在将Fortran的某些速度引入C ++.您不会制作指针的 valarray ,因此编译器可以对代码进行假设并更好地对其进行优化.(Fortran这么快的主要原因是没有指针类型,所以不能有指针别名.) 或: valarray 还应该消除别名[...] 的任何可能性 但是这些答案对我来说毫无意义. va ..
发布时间:2021-04-19 20:00:49 C/C++开发

为什么std :: vector和std :: valarray初始化构造函数不同?

我刚刚被下列事情所烧死. 如果要使用常量 X 初始化 n 个元素的 std :: vector ,我可以这样做: std :: vectorv(n,X); 但是,如果我需要使用常量 X 初始化 n 个元素的 std :: valarray ,我需要交换大小并进行初始化常数: std :: valarrayva(X,n); 在我看来,这就像一 ..
发布时间:2021-04-19 19:35:05 C/C++开发

为什么valarray这么慢?

我正在尝试使用valarray,因为它在操作向量和矩阵时非常类似于MATLAB。我首先进行了一些性能检查,发现valarray无法达到本书 C ++编程语言 (由Stroustrup提供。) 测试程序实际上对500万个double进行了乘法运算。我认为c = a * b至少可以与 for 循环双精度类型元素相乘,但是我完全错了。我在多台计算机上以及Microsoft Visual C ++ ..
发布时间:2020-09-27 05:20:45 C/C++开发

C ++使用ccfits读取适合文件

所以...任何人都可以看到我在这里做错了吗?!我试图按照CCfits在C ++中读取*.fits文件. "nofollow noreferrer"> http://heasarc.gsfc.nasa.gov/fitsio/CCfits/html/readimage.html . #include #include #include ..
发布时间:2020-06-15 18:40:12 C/C++开发

最好的方法来测试两个valarray< double>

我认为 == 为 valarray 的默认重载不是很方便。默认情况下 x == y (对于两个valarrays x和y)返回 valarray 如果 x [i] == y [i] ,则 i c $ c>。相反,我需要一个 bool ,它告诉我如果 valarray 包含相同的元素。我知道我可以做一个周期,但必须做的周期每次都不方便。这里最好的解决方法是什么?有没有办法为我定义自 ..
发布时间:2016-10-30 02:12:16 C/C++开发

如何从向量初始化valarray?

它是确定/安全/良好的做法,写下列为了填充一个向量的 内容的valarray? vector myVect = {2,0,1,0,0,1,1,0,0,0}; //任何向量 valarray myVala(&(myVect [0]),myVect.size()); //编辑:Xeo建议,这个代码看起来更清洁(C ++ 11) valarray m ..
发布时间:2016-10-28 06:35:34 C/C++开发

用std :: valarray替换POD C风格的数组是个坏主意吗?

它使用了很多包含原始指针的结构体,这些结构体包含原始指针 尽管结构体通常在函数之间传递,但是这些指针的分配和释放位置放在随机位置,不容易被跟踪/推理/了解。 我将其中一些改为类,并且这些指针由类自己修改。他们工作得很好,看起来很丑陋,除了我禁止拷贝构造和这些类的副本分配,因为我不想花时间实现它们。 现在我在想,我是重新发明轮子吗?为什么不用std:array或std :: val ..
发布时间:2016-10-27 00:47:07 C/C++开发

C ++ valarray与向量

我喜欢向量很多。他们漂亮,快速。但我知道这个东西叫一个valarray存在。为什么要使用valarray而不是向量?我知道valarrays有一些语法糖,但除此之外,它们何时有用? 解决方案 Valarrays把Fortran的一些速度带到C ++。你不会做一个指针的valarray,所以编译器可以做出关于代码的假设和优化它更好。 (Fortran的这么快的主要原因是没有指针类型所以没有指 ..
发布时间:2016-10-11 23:25:03 C/C++开发