C++关键字(2)

来源:互联网 发布:360软件强力卸载 编辑:程序博客网 时间:2024/04/30 16:14

1.extern关键字

    extern 存储类用于提供一个全局变量的引用,全局变量对所有的程序文件都是可见的。当您使用 'extern' 时,对于无法初始化的变量,会把变量名指向一个之前定义过的存储位置。    当您有多个文件且定义了一个可以在其他文件中使用的全局变量或函数时,可以在其他文件中使用 extern 来得到已定义的变量或函数的引用。可以这么理解,extern 是用来在另一个文件中声明一个全局变量或函数。extern 修饰符通常用于当有两个或多个文件共享相同的全局变量或函数的时候,

http://www.runoob.com/cplusplus/cpp-storage-classes.html
http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777431.html
2.typedef关键字

用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量;以下则可行:typedef char* PCHAR; // 一般用大写PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针虽然:char *pa, *pb;也可行,但相对来说没有用typedef的形式直观,尤其在需要大量指针的地方,typedef的方式更省事。用途二:用在旧的C的代码中(具体多旧没有查),帮助struct。以前的代码中,声明struct新对象时,必须要带上struct,即形式为: struct 结构名 对象名

http://blog.csdn.net/ameyume/article/details/6326278
3.register关键字

register:这个关键字请求编译器尽可能的将变量存在CPU内部寄存器中,而不是通过内存寻址访问,以提高效率。注意是尽可能,不是绝对。

http://blog.csdn.net/liu537192/article/details/50194515
4.typeid关键字

从名字直观看来,该关键字应该是获取语言元素的类型ID。其实它和sizeof类似,是一个类型运算符。有时候代码可能需要获取某个变量或者类型的名字,这时候使用typeid就比较合适。

http://blog.csdn.net/gatieme/article/details/50947821
5.typename关键字(和typeid没有任何关系)

第一种情况是在函数模板和类模板声明中。一般模板声明中,使用class关键字指定类型参数,后来C++支持使用typename代替class关键字。这里仅仅是在语义上强调模板使用的类型参数不一定是类类型,可以是所有类型。这里typenameclass没有任何区别。第二种情况使用情况比较特殊,简单说起来就是在使用类内成员类型的时候。类内成员类型就是在类定义内声明了一个类型,该类型属于类型内部,可见性由权限访问符限定。

http://www.cnblogs.com/fanzhidongyzby/archive/2012/11/07/2759326.html
6.union 关键字的用法与struct 的用法非常类似。

union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址。例子如下:union StateMachine{   char character;   int number;   char *str;   double exp;};

http://c.biancheng.net/cpp/html/450.html
7.const关键字

当一个变量被const修饰后,具有以下几个特点: 1)该变量只能读取不能修改。(编译器进行检查) 2)定义时必须初始化。  3)C++中喜欢用const来定义常量,取代原来C风格的预编译指令define。

http://wenku.baidu.com/link?url=sl8gRJ1Z-cj4xC85-AW3mvOgRAYdbzxtr31i_nyqQkIqQbRA9gZeJyk-6DlO84FKy-ikCJG5NPQivwRfA-MjulFqAQDeBqAmJmDOEHrZqI7
8.friend关键字

友元是指:采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分(注意友元函数不是类的一部分),但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,两者统称为友元。友元的作用是提高了程序的运行效率(即减少了类型检查和安全性检查等都需要时间开销),但它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员。

http://www.cnblogs.com/CBDoctor/archive/2012/02/04/2337733.html
9.signed 有符号unsigned 无符号 关键字

整数默认为有符号的比如16位系统中一个int能存储的数据的范围为–32768 ~ 32767162进制的最高位作为符号位‘1’为负‘0’为正)而unsigned能存储的数据范围则是0~65535(这个最高位不用做符号位,所以是216次方,一共65536

http://c.biancheng.net/cpp/html/439.html
http://bbs.csdn.net/topics/340253678

0 0
原创粉丝点击