const关键字:
  1.欲阻止一个变量被改变,可使用const,在定义该const变量时,需先初始化,以后就没有机会改变他了;
  2.对指针而言,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;
  3.在一个函数声明中,const可以修饰形参表明他是一个输入参数,在函数内部不可以改变其值;
  4.对于类的成员函数,有时候必须指定其为const类型,表明其是一个常函数,不能修改类的成员变量;
  5.对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为“左值”。
 
static关键字:
  1.static局部变量在函数内定义,它的生存期为整个源程序,但是其作用域仍与自动变量相同,只能在定义该变量的函数内使用该变量。退出该函数后, 尽管该变量还继续存在,但不能使用它。再次调用该函数可以再次使用。
  2.static修饰全局变量的时候,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extern外部声明也不可以。
  3.static修饰一个函数,则这个函数的只能在本文件中调用,不能被其他文件调用。Static修饰的局部变量存放在全局数据区的静态变量区。初始化的时候自动初始化为0;
    (1)不想被释放的时候,可以使用static修饰。比如修饰函数中存放在栈空间的数组。如果不想让这个数组在函数调用结束释放可以使用static修饰
    (2)考虑到数据安全性(当程想要使用全局变量的时候应该先考虑使用static)

  在C++中static关键字除了具有C中的作用还有在类中的使用
  在类中,static可以用来修饰静态数据成员和静态成员方法
  静态数据成员
  (1)静态数据成员可以实现多个对象之间的数据共享,它是类的所有对象的共享成员,它在内存中只占一份空间,如果改变它的值,则各对象中这个数据成员的值都被改变。
  (2)静态数据成员是在程序开始运行时被分配空间,到程序结束之后才释放,只要类中指定了静态数据成员,即使不定义对象,也会为静态数据成员分配空间。
  (3)静态数据成员可以被初始化,但是只能在类体外进行初始化,若为对静态数据成员赋初值,则编译器会自动为其初始化为0
  (4)静态数据成员既可以通过对象名引用,也可以通过类名引用。

  静态成员函数
  (1)静态成员函数和静态数据成员一样,他们都属于类的静态成员,而不是对象成员。
  (2)非静态成员函数有this指针,而静态成员函数没有this指针。
  (3)静态成员函数主要用来方位静态数据成员而不能访问非静态成员。

volatile关键字:

一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子: 
    1). 并行设备的硬件寄存器(如:状态寄存器) 
    2). 一个中断服务子程序中会访问到的非自动变量(Non-automatic variables) 
    3). 多线程应用中被几个任务共享的变量

最新文章

  1. android之ViewPager的使用
  2. HTML5学习总结-09 拖放和手机触屏事件
  3. Libfilth(一个滤波器C库)使用
  4. python将json格式的数据转换成文本格式的数据或sql文件
  5. HDU 4856 (状态压缩DP+TSP)
  6. 黄聪:C#如何操作JSON数据(读取、分析)
  7. XCode7,打包上传的一些警告,及参考处理方法
  8. __cdecl、__stdcall、__fastcall、thiscall 进栈、出栈区别
  9. 『重构--改善既有代码的设计』读书笔记----Hide Delegate
  10. Android开发技巧——去掉TextView中autolink的下划线
  11. Silverlight闹钟
  12. 转: Apache SSI详解及应用
  13. PredictionIO Open Source Machine Learning Server
  14. Swift - 跑酷游戏开发(SpriteKit游戏开发)
  15. effective c++ 条款3 use const whereever you can
  16. Kinect外包团队— 2016中国VR开发者论坛第一期
  17. 如何让PHP程序自动执行(后台)
  18. lua中产生 1 - n 之间不重复随机数
  19. ASP.NET中异常处理的注意事项
  20. vmware 安装 Mac OS X 10.9 Mavericks

热门文章

  1. eureka client服务续约源码分析
  2. Objective-C weak深入理解
  3. 动手动脑(lesson 3)
  4. async源码学习 - 全部源码
  5. SkylineGlobe 6.6 版本API更新
  6. Webpack 2 视频教程 004 - Webpack 初体验
  7. 记录:EM 算法估计混合高斯模型参数
  8. Mysql之binlog日志说明及利用binlog日志恢复数据操作记录
  9. MySQL高可用架构-MMM环境部署记录
  10. ACM-ICPC 2018 沈阳赛区网络预赛 G. Spare Tire