C++对C语言register的增强
2024-09-23 11:09:10
register关键字 请求编译器让变量a直接放在寄存器里面,速度快
在c语言中 register修饰的变量 不能取地址,但是在c++里面做了内容
1
register关键字的变化
register关键字请求“编译器”将局部变量存储于寄存器中
C语言中无法取得register变量地址
在C++中依然支持register关键字
C++编译器有自己的优化方式,不使用register也可能做优化
C++中可以取得register变量的地址
2
C++编译器发现程序中需要取register变量的地址时,register对变量的声明变得无效。
3
早期C语言编译器不会对代码进行优化,因此register变量是一个很好的补充。
demo
#include <iostream> int main() { register int a = 0; printf("&a = %x\n", &a); // c语言这里会报错 for (int i = 1; i < 1000; i++) { // 而对于这种频繁使用i的情况自动进行优化,将i放入寄存器中 printf("%d\n", i); } system("pause"); return 0; }
最新文章
- JQUERY 实现加入收藏夹功能
- Hibernate框架之入门
- #import vs. @class
- text-overflow 与 word-wrap:设置使用一个省略标记...标示对象内文本的溢出。
- Asp.Net转换Html加号显示为空格的字符!(自已备用)
- JAVA开发环境 - 环境变量及配置
- SQL Server 触发器(转)
- Tyvj-超级书架
- boost库之geometry<;二>;
- 发布自己的Angular2库初探
- RecyclerView 设置item间隔的方法
- 【转载】通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?
- git相关的操作
- URL简介
- 常用lua代码块
- 12.16daily_scrum
- linux 关机、重启
- spring cloud Eureka server配置
- mysql group_concat方法用法
- JS学习笔记(3)--json格式数据的添加,删除及排序方法
热门文章
- bzoj3173[Tjoi2013]最长上升子序列 平衡树+lis
- WebDNN:Web浏览器上最快的DNN执行框架
- swift之属性
- 利用Runtime实现简单的字典转模型
- Linux(Ubuntu)安装libpcap
- java中JSON转换
- JavaScript数据结构和算法----栈
- 31. Next Permutation(中等,搞清楚啥是 next permutation)
- linkList hashSet ArrayList IO 序列化 1.1.瞬态transient .字符编码表 Properties
- dict的操作和三级菜单