1、const修饰符
定义常量:const int LIMIT = 100
修饰指针:(1)const char* name = "liao" //声明指向常量的指针
name[2] = 'a'; false name = "li"; right
(2)char* const name = "liao" //常指针
name[2] = 'a'; right
name = "li"; false
(3)const char* const name = "liao" //指向常量的常指针
2、内置函数inline
为了提高函数调用时的系统开销,以提高运行速度;规避define可能出现的错误。
3、带有默认参数的函数
C++允许实参个数与形参个数不同
int special(int x=5, float y=5.3);
一下函数调用都是允许的:
special(100,10.1); //x=100, y=10.1
special(25); //x=25, y=5.3
special() //x=5, y=5.3
4、作用域运算符“ :: ”
如果想在局部变量的作用域类使用同名的全局变量,使用::
#include<iostream>
using namespace std;
int var = 10;
int main(){
int var;
var = 25;
cout<<var<<" "<<::var<<endl;
return 0;
}
5、new和delete可以被重载,建立自己的内存管理算法
6、引用返回值
将函数说明为返回一个引用的主要目的是:将该函数用在赋值运算的左边
#include<iostream>
using namespace std;
int a[] = {1,2,3,4};
int &index(int i){
return a[i];
}
int main(){
index(2) = 25;
cout<<a[2]<<endl;
return 0;
}
7、void型指针
void型指针是一种通用型指针,也就是说任何类型的指针都可以赋给void类型的指针变量
void pa; //wrong
void *pc; //right
#include<iostream>
using namespace std;
int main(){
void *pc;
int i = 5;
char c = 'a';
pc = &i;
cout<<*(int*)pc<<endl;
pc = &c;
cout<<*(char*)pc<<endl;
return 0;
}