C++关键字及说明解释
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++关键词asm
auto
bad_cast
bad_typeid
bool
break
case
catch
char
class
const
const_cast
continue
default
delete
do
double
dynamic_cast else
enum
except explicit extern
false
finally
float
for
friend
goto
if
inline
int
long
mutable namespace
operator private protected public
register reinterpret_cast return
short
signed
sizeof
static
static_cast
struct
switch template
this
true
try
type_info
typedef
typeid typename union
unsigned
using
virtual
void
volatile
wchar_t while
asm已经被__asm替代了,用于汇编语言嵌入在C/C++程序里编程,从而在某些方面优化代码.虽然用asm关键词编译时编译器不会报错,但是asm模块的代码是没有意义的.
(2)auto
这个这个关键词用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键词不怎么多写,因为所有的变量默认就是auto的。
(3)bad_cast,
const_cast,
dynamic_cast,
reinterpret_cast,
static_cast
关于异常处理的,还不是太了解..
(4)bad_typeid
也是用于异常处理的,当typeid操作符的操作数typeid为Null指针时抛出.
(5)bool
不用多说了吧,声明布尔类型的变量或函数.
(6)break
跳出当前循环.The break statement terminates the execution of the nearest enclosing loop or conditional statement in which it appears.
(7)case
switch语句分支.Labels that appear after the case keyword cannot also appear outside a switch statement.
(8)catch,throw,try
都是异常处理的语句,The try, throw, and catch statements implement exception handling.
(9)char
声明字符型变量或函数.
(10)class
声明或定义类或者类的对象.The class keyword declares a class type or defines an object of a class type.
(11)const
被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。它可以修饰函数的参数、返回值,甚至函数的定义体。作用:
1.修饰输入参数
a.对于非内部数据类型的输入参数,应该将“值传递”的方式改为“const引用传递”,目的是提高效率。例如将void Func(A a) 改为void Func(const A &a)。
b.对于内部数据类型的输入参数,不要将“值传递”的方式改为“const引用传递”。否则既达不到提高效率的目的,又降低了函数的可理解性。例如void Func(int x) 不应该改为void Func(const int &x)。
2.用const修饰函数的返回值
a.如果给以“指针传递”方式的函数返回值加const修饰,那么函数返回值(即指针)的内容不能被修改,该返回值只能被赋给加const修饰的同类型指针。
如对于:const char * GetString(void);
如下语句将出现编译错误:
char *str = GetString();//cannot convert from 'const char *' to 'char *';
正确的用法是:
const char *str = GetString();
b.如果函数返回值采用“值传递方式”,由于函数会把返回值复制到外部临时的存储单元中,加const修饰没有任何价值。如不要
把函数int GetInt(void) 写成const int GetInt(void)。
3.const成员函数的声明中,const关键词只能放在函数声明的尾部,表示该类成员不修改对象.
说明:
const type m; //修饰m为不可改变
示例:
typedef char * pStr; //新的类型pStr;
char string[4] = "abc";
const char *p1 = string;
p1++; //正确,上边修饰的是*p1,p1可变
const pStr p2 = string;
p2++; //错误,上边修饰的是p2,p2不可变,*p2可变
同理,const修饰指针时用此原则判断就不会混淆了。
const int *value; //*value不可变,value可变
int* const value; //value不可变,*value可变
const (int *) value; //(int *)是一种type,value不可变,*value可变
//逻辑上这样理解,编译不能通过,需要tydef int* NewType;
const int* const value;//*value,value都不可变
(12)continue
结束当前循环,开始下一轮循环.Forces transfer of control to the