C++常用库函数
1. max_element 和 min_element
struct MaxTestStru { string name; int age; }; class LibFunctionTest { public: static bool AgeMax(const MaxTestStru& a, const MaxTestStru& b) { return a.age < b.age; } static bool NameMax(const MaxTestStru& a, const MaxTestStru& b) { return a.name < b.name; } void MaxElementTest() { vector<int> data = {1, 9, 10, 8, 6, 20, 5}; int max = *max_element(data.begin(), data.end()); int min = *min_element(data.begin(), data.end()); cout << "max: " << max << " min:" << min << endl; vector<MaxTestStru> dis = {{"zhang", 18}, {"li", 20}, {"wang", 35}, {"Angle", 60}}; MaxTestStru ageMax = *max_element(dis.begin(), dis.end(), AgeMax); MaxTestStru nameMax = *max_element(dis.begin(), dis.end(), NameMax); cout<<"ageMax:" << ageMax.name << " " << ageMax.age << endl; cout<<"nameMax:" << nameMax.name << " " << nameMax.age << endl; } };
输出:
max: 20 min:1 ageMax:Angle 60 nameMax:zhang 18
2. iota 连续赋值
void iota_Test(){ std::vector<double> data(9); int initial {-3}; std::iota (std::begin (data) , std::end (data) , initial); std::copy(std::begin(data), std::end(data),std::ostream_iterator<double>{std::cout<< std::fixed << std::setprecision(1), " "}); std::cout << std::endl; string text {"hello word"}; std::iota(std::begin(text), std::end(text), 'A'); std::cout << text << std::endl; }
输出:
-3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 4.0 5.0 ABCDEFGHIJ
3. 字符判断
islower(char c) 是否为小写字母
isupper(char c) 是否为大写字母
isdigit(char c) 是否为数字
isalpha(char c) 是否为字母
isalnum(char c) 是否为字母或者数字
toupper(char c) 字母小转大
tolower(char c) 字母大转小
浙公网安备 33010602011771号