const与efficiency&design
来源:互联网 发布:釜山行影评知乎 编辑:程序博客网 时间:2024/05/18 20:05
const意味着不能修改;
我们的潜意识里面要深深刻着:const是
1,design的意图
2,防御式编程,更安全
而const_cast则是对于初始设计的一种破坏,是程序完美性的污染者,hack!
除此之外,可以考虑使用const带来的optimization:
1,compile time:在effect c++中所介绍的,用const来代替#define,也就是预编译时间
而且直接声明一个POD变量为const也有可能促使compiler预处理的时候把变量优化掉;
2,runtime memory:
read-only memory读取的时候据说会比ram快一些,在wikipedia等地方并没有见到确切的说法;
如果真的如此的话,那么compiler在声明POD变量的情况下可能会把变量放到read-only memory中,
从而使得程序运行可能加快;
其他情况下,cosnt对于compiler来说会阻止coder来改变const所修饰的值,但在const的管辖范围
之外和const_cast的存在的情况下,变量与内存都可能被修改,所以const对于编译器来说除非非常的显而易见的情况,否则并不意味着真的const,compiler自己也无从下手去做什么,但是至少这是对于compiler的一个提示,一个更加准确的修饰,更加aggressive的compiler可以在这些方面有所作为,
而且,const带来更加安全,使得程序开发效率提高,那么我们在单位时间内有更多的时间去profile和optimize,这也是一种优化,isn't?
所以const对于coder来说意味着更加明确的设计意图和防御,和潜在的略微优化;
- const与efficiency&design
- Balsaming Mockups - Efficiency & Cute Handwriting Design
- https://cn.mathworks.com/videos/improve-design-efficiency-using-modeling-standards-checking-81880.ht
- const与const指针
- const* 与*const
- High Efficiency
- C++ efficiency
- Improve efficiency
- poj1252Euro Efficiency
- const 与 *
- const与*
- const static 与static const const static
- const对象与const函数
- char const*与const char*
- 顶层const与底层const
- 顶层const与底层const
- 顶层 const 与底层 const
- 顶层const与底层const
- Spring中获得Hibernate Session的方法
- Java对象查询方法:Jxpath
- Asp.Net XML操作基类(修改,删除,新增,创建)
- web 服务器和应用程序服务器的不同,区别???/
- 新学期
- const与efficiency&design
- RMAN命令详解
- 利用GDAL库读取GeoTIFF文件
- ASP.NET中实现MSN通知消息功能
- Java路径问题最终解决方案
- Delphi 下操作Windows 服务的代码
- JS 变量
- 秀逗休闲游戏平台
- Apache java项目 介绍