C语言中restrict关键字和volatile关键字是正好相反的。
volatile警告编译器不要优化,因为还有别的thread(此处做控制流意)可以修改该地址。restrict告诉编译器放心优化吧,出了事儿有我程序员担着!
由此又想到了C++中的一对关键字:mutable, const,可见辩证法还是十分实用的。基本上mutex之类的成员必然被声明为mutable,除非这个类没有const方法……
C语言中restrict关键字和volatile关键字是正好相反的。
volatile警告编译器不要优化,因为还有别的thread(此处做控制流意)可以修改该地址。restrict告诉编译器放心优化吧,出了事儿有我程序员担着!
由此又想到了C++中的一对关键字:mutable, const,可见辩证法还是十分实用的。基本上mutex之类的成员必然被声明为mutable,除非这个类没有const方法……
转载于:https://www.cnblogs.com/farseeraliens/p/3152457.html