, 5, 7, 9, 11, 13, 15 }; print(v, 0); return 0; }
6.33
#pragma warning(disable:4996)
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std; void print(vector
vInt, unsigned index) { unsigned sz = vInt.size(); if (!vInt.empty() && index < sz) { cout << vInt[index] << endl; print(vInt, index + 1); } } int main() { vector
v = { 1, 3, 5, 7, 9, 11, 13, 15 }; print(v, 0); return 0; }
6.38
#pragma warning(disable:4996)
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std; string make_plural(size_t ctr, const string &word, const string &ending = "s") { return (ctr > 1) word + ending : word; } int main() { cout << "success的单数形式:" << make_plural(1, "success", "es") << endl; cout << "success的复数形式:" << make_plural(2, "success", "es") << endl; cout << "failure的单数形式:" << make_plural(1, "failure") << endl; cout << "failure的单数形式:" << make_plural(2, "failure") << endl; return 0; }
6.47
#pragma warning(disable:4996)
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std; void print(vector
vInt, unsigned index) { unsigned sz = vInt.size(); #ifndef NDEBUG cout << "vector对象的大小:" << sz << endl; #endif if (!vInt.empty() && index < sz) { cout << vInt[index] << endl; print(vInt, index + 1); } } int main() { vector
v = { 1, 3, 5, 7, 9, 11, 13, 15 }; print(v, 0); return 0; }
6.51
#pragma warning(disable:4996)
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std; void f() { cout << "该函数无须参数" << endl; } void f(int) { cout << "该函数有一个整型参数" << endl; } void f(int, int) { cout << "该函数有两个整型参数" << endl; } void f(double a, double b = 3.14) { cout << "该函数有两个双精度浮点型参数" << endl; } int main() { //二义性f(2.56, 42); f(42); f(42, 0); f(2.56, 3.14); }
6.55
#pragma warning(disable:4996)
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std; int func1(int a, int b) { return a + b; } int func2(int a, int b) { return a - b; } int func3(int a, int b) { return a*b; } int func4(int a, int b) { return a / b; } int main() { decltype(func1)* p1 = func1, *p2 = func2, *p3 = func3, *p4 = func4; vector
vF = { p1, p2, p3, p4 }; return 0; }
6.56
#pragma warning(disable:4996)
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std; int func1(int a, int b) { return a + b; } int func2(int a, int b) { return a - b; } int func3(int a, int b) { return a*b; } int func4(int a, int b) { return a / b; } void Compute(int a, int b, int(*p)(int, int)) { cout << p(a, b) << endl; } int main() { int i = 5, j = 10; decltype(func1)* p1 = func1, *p2 = func2, *p3 = func3, *p4 = func4; vector
vF = { p1, p2, p3, p4 }; for (auto p : vF) { Compute(i, j, p); } return 0; }