如果我有一个像这样声明的成员函数:
double* restrict data(){
return m_data; // array member variable
}
限制关键字可以做任何事情吗?
显然,对于 g++(x86 架构)它不能,但是是否有其他编译器/架构可以使这种类型的构造有意义,并允许优化机器代码生成?
我问是因为 Blitz 库 (Blitz++) 有一大堆以这种方式声明的函数,除非它真的做某事,否则有人会进入并添加限制关键字是没有意义的。因此,在我进入并删除restrict
's(以摆脱编译器警告)之前,我想知道我是如何滥用代码的。