目录
运算符别名
函数
C++中支持重载
C++中支持(默认值)缺省值
C++支持哑元
C++支持内联
C与C++的隐式声明
运算符别名
-
&&? ?->? ?and -
||? ? ?->? ? or -
! ? ? ?->? ? not -
& ? ?->? ??bitand -
^? ? ?->? ??xor -
{? ? ?->? ??^% -
}? ? ?->? ??%^ -
[? ? ?->? ?? <: -
]? ? ?->? ?? :>
#include <iostream> //17per.cpp
using namespace std;
int main(){
int year;
cin >> year;
if(year%4==0 and year%100!=0 or year%400==0){
cout << "闰年" << endl;
}
int arr<:5:> = <%5,4,3,1,2%>; //重命名使用 [] 和 {}
cout << arr<:3:> << endl;
return 0;
}
//个人感觉没啥人会去用这东西? 真想把用的人打死
函数
C++中支持重载
C++中支持(默认值)缺省值
-
在定义函数时,可以给函数参数以默认值(相当于赋值语句一样),那么在调用该函数时 -
1.可以传递该位置的参数,也可以不传递(取缺失值) -
2.如果某个函数的一个参数有缺省值,那么该参数后面所以的参数都必须要有缺省值,缺省值"靠右原则" -
3.如果函数的声明和定义分开的情况下,那么缺省参数只能放在声明中!!! -
4.要注意和重载函数不产生歧义 ? #include <iostream> //23default.cpp
using namespace std;
//参数y有缺省值 该参数可以传 也可以不传 不传的采用的缺省值
long long int pow(int x,int y=2){
long long int res = 1;
int i;
for(i=1;i<=y;i++){
res *= x;
}
return res;
}
// 和缺省值产生了歧义
long long int pow(int x){
}
/*
void func(int x=1,int y){//如果允许 func(2)
}
*/
//声明
void func(int x,int y=1);
void bar(int x,int y=1,int z=2,int w=3){
cout << x << "," << y << "," << z << "," << w << endl;
}
int main(){
//cout << pow(10) << endl;//调用歧义
cout << pow(10,2) << endl;
cout << pow(10,3) << endl;
//bar();
bar(0);//0,1,2,3
bar(100,200);//100,200,2,3
bar(100,200,300);
return 0;
}
//void func(int x,int y=1){//分开的情况下,缺省值只能放声明中
void func(int x,int y){
}
C++支持哑元
C++支持内联
-
C++ inline声明的函数 -
1.在调用内联函数时,用函数的二进制指令代码替换掉函数调用指令,减少函数调用的时间的开销,把这种策略称为内联 -
2.inline关键字,只是建议编辑器将指定的函数编译成内联,但仅仅是建议而已 -
3.频繁调用的简单函数适合内联,而稀少调用的复杂函数不适合内联 -
4.调用函数无法内联
C与C++的隐式声明
|