valarray在什么意义上没有混叠
In what sense is valarray free from aliasing?
一种常见的说法是,std::valarray
旨在消除某些形式的混叠,以实现更好的优化(例如,参见valarray与vector:为什么引入valarray?)
有人能详细说明这一说法吗?在我看来,只要你能获得一个指向元素的指针,混叠总是可能的——你可以,因为operator[]
返回了一个引用。
"无别名"指的是接受valarray
作为参数的全局函数,如cos
。cos
(或任何函数)应用于整个数组,编译器和标准库实现可以假设数组没有别名,并且可以独立地对每个元素执行操作。
它还指的是valarray
的operator+
,它进行成员加法等。
相关文章:
- 在 2D 向量中使用第三个 [ ] 有什么意义?
- C++如果必须在编译时确定大小,std::array 有什么意义?
- 如果我在 const 函数上使用指针,我可以返回什么?
- 在 c++ 中,在链表节点上使用括号有什么意义?
- C++自己的对象堆栈.在 push() 上复制了什么?
- 我在这个课上做错了什么?
- 在 c++ 或 python 中生成一个体面的视差图以在 Raspberry Pi 上实现的最佳方法(算法或函数)是什么
- "in"和"out"在参数方向上是什么意思?
- 使用库C++程序在<filesystem>Windows上什么都不做
- 非模板化函数上的约束表达式有什么意义?
- 什么可能导致故障位被设置在ofsream::open上
- C++ & C 中的".inc"文件有什么意义?您想在什么情况下使用它?
- 什么是最好的(即快速和小)是在GCC linux上atomic_fetch_ptr和atomic_set_ptr
- 什么时候应该在 std::list 上使用 std::vector?
- 在非成员函数上使用删除有什么意义?
- 在什么基础上,由单个元素组成的参数包的折叠表达式被转换为未加括号的表达式
- 使C++类成为监视器(在并发意义上)
- valarray在什么意义上没有混叠
- 标量在c++类型特征意义上的作用是什么?
- 在Ubuntu中,用C/C++在插孔意义上换行