使用 altivec 从 const 指针加载的最佳方法是什么?
根据文档(和我的结果),vec_ld 不采用 const 指针作为参数: http://www-01.ibm.com/support/knowledgecenter/SS2LWA_12.1.0/com.ibm.xlcpp121.bg.doc/compiler_ref/vec_ld.html
因此这样的事情将会失败:
void foo(const float* A){
vector4double a = vec_ld(0,A);
...
}
一个令人讨厌的解决方法是:
void foo(const float* A){
vector4double a = vec_ld(0,const_cast<float*>A);
...
}
有更好的方法吗? 谢谢。
最佳答案
使用const_cast
。
它的存在正是为了这个目的:处理常量不正确的 API。
关于c++ - Altivec -- const 变量的加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33539672/