C++关键字及说明解释

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档