2

我正在更新要使用的性能关键库restrict,正如 g++ 和 MSVC 在 C++11 中使用关键字实现的那样__restrict

有很多例程和函数看起来像:

void f(float a[],float b[]);

在上面的例子中,f是一个参数应该被限制的例程。不幸的是,据我所知,在保持这种语法的同时这是不可能的。现在,显然这可以使用指针重写为:

void f(float*__restrict a,float*__restrict b);

这里丢失的是ab是数组的语义事实(我更喜欢对单值指针使用指针表示法,对数组指针使用数组表示法)。描述性参数名称(上面省略)有帮助,但也只有这么多。

我想确认这些编译器目前无法使用数组语法声明受限变量。

4

0 回答 0