//第二十五章补充内容 9 关键字volatile //用volatile关键字声明的变量,是用来告诉编译器每次对此变量的引用都需要从内存地址中读取,即取消编译器对此变量的优化编译 //volatile可以保证对特殊地址的稳定访问,不会出错 //register寄存器变量 /*#include <iostream> using namespace std; int dquare(volatile int *p) { return (*p)*(*p); } int func(int n) { register int i, s=0; for(i=0; i<=n; i++) { s = s+i; } return s; } int main() { int i = 546; int *pa = &i; int s = dquare(pa); cout<<"s:"<<s<<endl; cout<<"寄存器变量"<<endl; int f = func(10); cout<<"f:"<<f<<endl; return 0; }*/ //实际上,许多编译程序都会忽略register修饰符,因为尽管它完全合法,但是它仅仅是暗示而不是命令