C++:关键字
标题
- override
- final
- extern
- extern和static区别
- sizeof
- strlen
override
用于修饰子类虚函数,添加于函数括号之后
- 在编译阶段,检查子类虚函数是否对父类中哪个虚函数进行了重写;
- 如果被override修饰的子类虚函数重写了某个虚函数,编译通过,否则失败
final
- 修饰父类虚函数,添加于函数括号之后,表明该父类虚函数不能被子类虚函数重写
- 修饰类,添加于不被继承的类名之后,表明该类不能再被继承
extern
在一个.C文件中使用其他.C文件里面的变量,需要申明该变量为外部变量
修饰变量和函数作用相同
extern和static区别
static声明的全局变量不能被其他文件使用
sizeof
sizeof是运算符,而不是一个函数。
它的功能是: 计算对象所占空间大小。
在编译时计算,不能用来返回动态分配的内存空间的大小。
- 数组——编译时分配的数组空间大小
- 指针——存储该指针所用的空间大小
存储该指针的地址的长度,是长整型,应该为4- 类型——该类型所占的空间大小
- 对象——对象的实际占用空间大小
- 函数——函数的返回类型所占的空间大小
函数的返回类型不能是void
strlen
strlen是函数,要在运行时才能计算
功能:
- 返回字符串的长度。从该字符串的第一个地址开始遍历,直到遇到结束符’\0’。
- 返回的长度大小不包括’\0’。
- 参数必须是字符型指针(char*), 且必须是以’\0’结尾的。
- 当数组名作为参数传入时,实际上数组就退化成指针了。
int ac[10];
cout<<sizeof(ac)<<endl;
cout<<strlen(ac)<<endl;
- ac相当于一个指针,但是strlen只能接受char*类型,所以编译时出错)