1.const修饰指针

(1)const int *p=&x:不可改动*p的内容,但能够让指针p指向还有一个地址,和int const *p一样

(2)int *const p=&x:指针本身是个常量,固定指向某一变量,因此p不可变,可是*p可变

2.const修饰函数

(1)函数參数前加const是保护指针,引用传递的值不可改动

(2)类的成员函数后面加const,表面该函数不能改动成员变量,不可调用非const成员函数

3.Volatile

訪问寄存器要比訪问内存快得多,编译器往往将频繁使用的变量保存在寄存器中,以便保证存取速度,这可能会导致变量脏读。用Volatile修饰的变量每次都会从内存读取,防止脏读

4.Static

(1)隐藏。 当我们同一时候编译多个文件时,全部未加static前缀的全局变量和函数都具有全局可见性,故使用static在不同的文件里定义同名函数和同名变量,而不必操心命名冲突。

(2)static的第二个作用是保持变量内容的持久。存储在静态数据区的变量会在程序刚開始执行时就完毕初始化,也是唯一的一次初始化。共同拥有两种变量存储在静态存储区:全局变量和static变量。

(3)static的第三个作用是默认初始化为0.事实上全局变量也具备这一属性,由于全局变量也存储在静态数据区。在静态数据区,内存中全部的字节默认值都是0×00,某些时候这一特点能够降低程序猿的工作量。

C++用于修饰的keyword的更多相关文章

  1. final关键字概念与四种用法和final关键字用于修饰类和成员方法

    fifinal关键字 概述 学习了继承后,我们知道,子类可以在父类的基础上改写父类内容,比如,方法重写.那么我们能不能随意的继承 API中提供的类,改写其内容呢?显然这是不合适的.为了避免这种随意改写 ...

  2. final关键字用于修饰局部变量和修饰成员变量

    修饰变量 1. 局部变量--基本类型 基本类型的局部变量,被fifinal修饰后,只能赋值一次,不能再更改.代码如下: public class FinalDemo1 { public static ...

  3. java基础-java语言中的keyword总结

    keyword   1.定义:被java语言赋于了特殊含义的单词 2.用于定义基本数据类型的keyword: class  interface  float int long double byte  ...

  4. Java修饰符/关键字

    修饰符分类: 权限修饰符:public.protected.default.private 其他修饰符:abstract.static.final.transient.volatile.native. ...

  5. swift 中关于open ,public ,fileprivate,private ,internal,修饰的说明

    关于 swift 中的open ,public ,fileprivate,private, internal的区别 以下按照修饰关键字的访问约束范围 从约束的限定范围大到小的排序进行说明 open,p ...

  6. virtual 修饰符 C# .NET

    virtual 关键字用于修饰方法.属性.索引器或事件声明,并且允许在派生类中重写这些对象. 例如,此方法可被任何继承它的类重写. (C#参考) public virtual double Area( ...

  7. [.net 面向对象编程基础] (8) 基础中的基础——修饰符

    [.net 面向对象编程基础] (8) 基础中的基础——修饰符 在进入C#面向对象核心之前,我们需要先对修饰符有所了解,其实我们在前面说到变量和常量的时候,已经使用了修饰符,并且说明了变量和常量的修改 ...

  8. virtual修饰符

    virtual(C# 参考) virtual 关键字用于修饰方法.属性.索引器或事件声明,并使它们可以在派生类中被重写. 例如,此方法可被任何继承它的类重写. public virtual doubl ...

  9. c# 访问修饰符的访问权限

    1. 访问修饰符. 指定声明的类型和类型成员的可访问性. (1) public:是类型和类型成员的访问修饰符.公共访问是允许的最高访问级别.对访问公共成员没有限制. (2) private:是一个成员 ...

随机推荐

  1. Servlet的学习之Cookie

    从本篇开始学习Servlet技术中的Cookie专题. 首先来了解什么是“会话”.会话是web技术中的一个术语,可以简单的理解为:用户打开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭 ...

  2. UpdateWindow API函数的作用很明显

    待续 摘自<Delphi深度历险>

  3. VS2008下编译BOOST 1.39的ASIO库

    由于全部编译BOOST库需要的时间太长,而且耗费空间,况且我只需要用ASIO库,所以就没有必要全部编译了. boost库到www.boost.org上下载. 编译很简单,假设你的boost存放的目录是 ...

  4. 重载(overload),覆盖/重写(override),隐藏(hide)

    写正题之前,先给出几个关键字的中英文对照,重载(overload),覆盖/重写(override),隐藏(hide).在早期的C++书籍中,常常把重载(overload)和覆盖(override)搞错 ...

  5. char *和char[]的区别,困扰很长时间了,总结下

    char c1[] = "hello";// char *c2 = "hello";// 区别1: c1是一个局部数组,c2是一个全局数组. 局部数组c1是局部 ...

  6. HDU4452Running Rabbits(模拟)

    HDU4452Running Rabbits(模拟) pid=4452" target="_blank" style="">题目链接 题目大意: ...

  7. VirtualBox集群建立和网络配置

    安装 1. 安装 安装Oracle VM VirtualBox之后,新建一个虚拟机,制定好内存等信息,开始安装操作系统,这里安装ubuntu-12.04.2-desktop-i386版本. 2. 拷贝 ...

  8. Delphi面向对象设计的经验原则(61条)

    (1)所有数据都应该隐藏在所在的类的内部. (2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者. (3)尽量减少类的协议中的消息. (4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深 ...

  9. NDK-gdb的错误ERROR(不同于上一篇): Could not extract package's data directory...的解决方法

    这个问题比较龟毛. 我的系统在4.0.4上一直调试好好的,到了2.2的系统居然fail.能检查的地方全部检查过了,居然不行. 最后仔细差了一遍,居然是由于/data目录的属性是777导致.ndk-gd ...

  10. Delaunay三角剖分算法

    在图像处理中,经常会使用到三角剖分算法: 具体定义及其算法可以参考:http://baike.so.com/doc/5447649.html 下面放出来代码: Delaunay接口为存C: 测试是使用 ...