在什么意义上valarray没有别名?

时间:2014-10-20 17:20:04

标签: c++ valarray

经常提出的一项主张是,std::valarray旨在消除某些形式的别名,以便实现更好的优化(例如,请参阅valarray vs. vector: Why was valarray introduced?

有人可以详细说明这个说法吗?在我看来,只要你可以获得指向元素的指针,就可以使用别名 - 你可以这样做,因为operator[]会返回一个引用。

1 个答案:

答案 0 :(得分:2)

“无别名”的东西是指cos等全局函数接受valarray作为参数。 cos(或任何函数)应用于整个数组,编译器和标准库实现可以假定数组不是别名,并且可以独立地对每个元素执行操作。

它还指valarray的{​​{1}}之类的内容,它会成员添加等等。