【发布时间】:2015-01-08 08:39:23
【问题描述】:
当我们有恒定数据时,例如在表格中
-
double const * const或 double const *
这是否给编译器提供了与__restrict 相同的信息/ 是否具有相同的效果?
据我了解,__restrict 基本上承诺,指向的数据不会被/通过另一个指针更改。所以,一个指向 const 值的指针也做出了同样的承诺,不是吗?
__restrict 这里指的是 Visual Studio 中的关键字。我猜在 GCC 中意思是相似的。
【问题讨论】:
-
__restrict,以两个下划线开头,按照惯例,是一个依赖于体系结构的特性,如果有的话,必须小心使用。不鼓励作为程序员使用它,因为它具有前缀表示它已用于某些编译器/语言/实现功能的实现,并且不得由客户端软件使用。另一方面,const是一种标准语言功能,允许编译器检测更改常量值的尝试并警告用户值滥用。
标签: c constants restrict-qualifier