valarray在什么意义上没有混叠

In what sense is valarray free from aliasing?

本文关键字:在什么 意义上 valarray      更新时间:2023-10-16

一种常见的说法是,std::valarray旨在消除某些形式的混叠,以实现更好的优化(例如,参见valarray与vector:为什么引入valarray?)

有人能详细说明这一说法吗?在我看来,只要你能获得一个指向元素的指针,混叠总是可能的——你可以,因为operator[]返回了一个引用。

"无别名"指的是接受valarray作为参数的全局函数,如coscos(或任何函数)应用于整个数组,编译器和标准库实现可以假设数组没有别名,并且可以独立地对每个元素执行操作。

它还指的是valarrayoperator+,它进行成员加法等。