[C++]register关键字

来源:互联网 发布:informix数据库端口 编辑:程序博客网 时间:2024/06/08 14:14
#include <iostream>
/*
 register:这个关键字请求编译器尽可能的将变量存在CPU内部寄存器中,而不是通过内存寻址访问,以提高效率
 register修饰符暗示编译程序相应的变量将被频繁地使用,如果可能的话,应将其保存在CPU的寄存器中,以加快其存储速度。
 register变量必须是能被CPU所接受的类型。这通常意味着register变量必须是一个单个的值,并且长度应该小于或者等于整型的长度。
 register变量可能不存放在内存中,所以不能用“&”来获取register变量的地址。
 随着编译程序设计技术的进步,在决定那些变量应该被存到寄存器中时,现在的C编译环境能比程序员做出更好的决定。
*/

using namespace std;

void mymemcpy(register char *d, register char *s,register int i )
{
while(i--)
*(s++) = *(d++);
}

int main()
{
char a[] = "Ilovecpp";
char b[10];
mymemcpy(a, b, 9);
cout << b << endl;
getchar();
return 0;
}


注:有错误的地方望批阅!
0 0