输入输出
如果你是从C到++,那么感观一定很大,首先就是标准头文件的区别,c的标准头文件为stdio而++的标准头文件为iostream。这个类继承了istream和osteam实现输入和输出。
cin对应了C++的标准输入,使用>>.
cout对应了C++的标准输出,使用<<.
当然作为从C来的语言,也可以使用printf,包含头文件就可以。
表演一下
#include <iostream>
int main(){
char str[10];
cout <<"hello world !"<<endl;
cin>>str;
cout<<"say :"<<str<<endl;
}
类型检查
在C++中对类型可谓是严苛至极,好多可以在C中运行的程序,在++上一律Pass。
比如const和enum枚举。
重载
什么是重载,(我就是我,不一样的烟火,哪怕名字一样,只要参数不一样,我就不一样。)函数名相同,参数不同(个数,类型,顺序)。
** 返回值不同的函数不是重载 **
举例时间到
void A(int a){}
//这些都是重载
void A(int a,int b){}
void A(int a.char b){}
void A(char a){}
//注意这不是重载,这是错误
char A(int a){}
引用
这个东西有那么点意思,他是小名,为已有的变量起绰号
既然是绰号,那么就要知道这些:
- 关系类型的声明,类型与原类型一样,与被起的地址一样(不一样,就不是绰号了)
- 声明必须宣布(初始化),一旦起了就不能改了。
- 可以给某个人起好多绰号
举例时间
#include <iostream>
int main(){
int a,b;
int &x=a; //声明
cout<<&a<<&r<<endl; //地址相同
int &xx=a; //多个绰号
int &x=b;//错误,一个绰号可只能对准一个人
return 0;
}
堆
在C中我们用malloc和free。
++里面我们用new 和delete
int *a = new int;
delete a;
不要小看这两个关键字,他们的效率可比 malloc 和free高多了
和 malloc 和free一样,一定要配对使用。
不一样的函数,内联函数
内联函数代码在使用时进行替换,效率很高。编译时首先会检查参数问题,保证调用正确,且保护隐私.
在创建时使用inleine关键字
举个例子:
#include<iostream>
using namespace std;
inline int mul(int a){
return a*a;
}
int main(){
int a=2;
cout<<mul(a)<<endl;
return 0;
}