- C++版框架
下面使用求最小值的程序描述了C++的一些操作方式。
#include <iostream> //提供了输入输出流
#include <algorithm>//提供常用算法:min
using namespace std;//将std名称空间导入默认空间
const int maxn = 100 + 10;
int A[maxn];
int main(){
long long a,b;
while(cin>>a>>b){ //标准输入流读取a和b
cout<<min(a,b)<<"\n"; //标准输出流输出最小值
}
return 0;
}
- 引用
在C语言中如果想要在子函数中改变传入参数的值需要进行如下操作:
返回值 子函数(类型 *参数){
——————
}
*** 调用函数(***){
子函数(&参数);
————
}
就是需要在子函数中引入的参数为指针型,而在调用函数时需要传入变量的地址。
而在C++中提供了“引用”,现用交换变量的例子展示一下:
#include <iostream>
using namespace std;
void swap2(int &a, int &b){
int t=a; a=b; b=t;
}
int main(){
int a=3, b=4;
swap2(a,b);
cout<<a<<" "<<b<<"\n";
return 0;
}
为什么不用swap?是因为algorithm头文件里面有swap这个函数!
- 字符串
在C语言中字符串实际上是一个字符数组,操作起来很不方便,C++在string中定义了新的string类型。
#include <iostream>
#include <string>
#include <ctime>
using namespace std;
int main(){
//建立一个变量名为s1的字符串,内容为 Hello World!
string s1("Hello World!\n");
//建立一个变量名为s2的字符串,内容与s1相同
string s2(s1);
//建立一个变量名为s3的字符串,内容为20个'-'(不包括单引号)。
string s3(20,'-');
//输出三个字符串
cout<<s1<<s2<<s3<<"\n";
//加和
s3 = s1+s2;
cout<<s3<<"\n";
//好懒,直接复制第二章得了~~~
printf("Time used = %f\n", (double)clock()/CLOCKS_PER_SEC);
return 0;
}
可以看出 string 类操作字符串很方便,但是效率很低。