一、C++框架
二、输入输出与头文件
1、输入输出
int a = 0;
scanf("%d",&a) 相当于 cin >> a;
printf("%d\n",a) 相当于 cout << a << endl;
2、头文件
以前c语言需要 #include <math.h>
现在c++不用加 .h ,只需要前面加c就行 如:#include <cmath>
三、强制转换类型
以前c语言常用
int a = 0;
double b =0;
b = (double)a;
但是c++可以
用static_cast<类型名>(表达式)
b = (double)a; 变成 b = static_cast<int>a;
四、函数参数默认值与&引用
1、函数参数默认值
C++ 语言规定,提供默认值时必须按从右至左的顺序提供,即有默认值的形参必须在形参列表的最后。通俗的讲就是声明时可以给函数参数赋个默认值
如 void y(int a, int b = 0);
但是不能 void y(int a = 0; int b); //提供默认值时必须按从右至左的顺序提供
2、&引用
例如:
void change(int &a)
{
a = 1;
}
int main()
{
int a = 0;
change(a);
cout << a << endl;
}
此时输出的a就是1,就省去了c语言中的指针传值;
五、结构体
c++中的结构体不用 typedef 也可以达到 typedef 的效果。
如
struct stu{
int a;
}
int main()
{
stu a;
}
可以不用typedef也能编译运行。
六、string类
首先在c++要用string做关键字,需要头文件#include<string>
string a = "hello";
string b = "world";
string c = a + b;
cout << c;
会输出helloworld。可以直接用+号拼接。
七、迭代器
如
int a[10] = {0};
for(auto p = a.begin() ; p != a.end() ; p++)
cout << *p << ' ' ;
就会输出10个0 就不用想限定条件了,很方便。
a.begin()
a相当于对象 .begin()是方法。
面向对象的编程语言基本都是这样。