练习6.10
#include <iostream>
using namespace std;
#include <string>
#include <vector>
using std::vector;
using std::cin;
using std::cout;
using std::endl;
using std::string;
int exchange(int *p, int *q)
{
int temp;
temp = *p;
*p = *q;
*q = temp;
}
int main() {
int i1 = 14, i2 = 17;
exchange(&i1, &i2);
cout<< i1 << i2<<endl;
}
练习6.21
//接受两个参数,一个int,一个int指针,比较int和指针所指的值,返回较大的
int f(int a, int *b){
return a>=*b ? a : *b;
}
int main() {
int i1 = 14, i2 = 17;
cout<<f(i1, &i2)<< endl;;
}
练习6.23
void f(int a, const int *beg, const int *end){
cout<<a<<" ";
while( beg != end)
cout <<*beg++<<" ";
cout<<endl;
}
int main() {
int i = 0;
int j[2] = {1,2};
f(i,begin(j), end(j));
}
练习6.25
#include <iostream>
using namespace std;
#include <string>
#include <vector>
#include <cstring>
using std::vector;
using std::cin;
using std::cout;
using std::endl;
using std::string;
int main(int argc, char *argv[]) {
string s = strcat(argv[1], argv[2]);
cout<<s<<endl;
}
练习6.27
void f(initializer_list<int> i1){
int sum = 0;
for(auto i: i1)
sum += i;
cout<<sum << endl;
}
int main() {
initializer_list<int> li{1,2,3};
f(li);
return 0;
}
练习6.33
void f(vector<int> ia, int i){
cout<< ia[i] <<" "<<endl;
if (i != ia.size() - 1){
return f(ia, i+1);
}
}
int main() {
vector<int> a = {1,2,3,5,4,8};
f(a, 0);
return 0;
}
练习6.55
int f11(int i1, int i2){
return i1 + i2;
}
int f22(int i1, int i2){
return i1 - i2;
}
int f33(int i1, int i2){
return i1 * i2;
}
int f44(int i1, int i2){
return i1 / i2;
}
int main() {
vector<int (*)(int, int)> func ;
func.push_back(f11);
func.push_back(f22);
func.push_back(f33);
func.push_back(f44);
cout<< func[0](1,2)<<endl;
cout<< func[1](4,5)<<endl;
cout<< func[2](7,8)<<endl;
cout<< func[3](9,3)<<endl;
return 0;
}