常用语句 - C++:修订间差异
跳到导航
跳到搜索
(→结构体) |
(→结构体) |
||
第4行: | 第4行: | ||
// map 相同</nowiki></small> | // map 相同</nowiki></small> | ||
==== 结构体 ==== | ==== 结构体 ==== | ||
<small><nowiki>struct | <small><nowiki>struct GVAL { | ||
int | int t; // 0=NULL, 1=int, 2=string | ||
string | int i; | ||
string s; | |||
}; | }; | ||
RES res1; | RES res1; | ||
res1 = {1, "ok"}; | res1 = {0}; | ||
res1 = {1, 10}; | |||
res2 = {2, 0, "ok"}; | |||
-.OR.- | -.OR.- | ||
res1. | res1.t = 2; | ||
res1. | res1.s = "ok"; | ||
// gcc version 9.4.0</nowiki></small> | // gcc version 9.4.0</nowiki></small> |
2024年9月10日 (二) 09:26的版本
赋值
map
unordered_map<string, int> um1 = {{"apple", 1}, {"banana", 2}, {"orange", 3}}; // map 相同
结构体
struct GVAL { int t; // 0=NULL, 1=int, 2=string int i; string s; }; RES res1; res1 = {0}; res1 = {1, 10}; res2 = {2, 0, "ok"}; -.OR.- res1.t = 2; res1.s = "ok"; // gcc version 9.4.0
转换
数值转为字符串
#include <string> str1 = to_string(num1);
字符串转换成整数
#include <string> num1 = stoi(str1);
条件
map 元素是否存在
#include <map> map<string, int> map1; map1["key1"] = 123; if (map1.count("key1")) { ... }
循环
map
# C++11 for (const auto& pair1 : map1) { cout << pair1.first << ": " << pair1.second << endl; } # 基本方法:迭代器 for (map<int, string>::iterator it = map1.begin(); it != map1.end(); ++it) { cout << it->first << ": " << it->second << endl; } # 函数封装 #include <algorithm> void printPair(const pair<int, string>& p) { cout << p.first << ": " << p.second << endl; } ... for_each(map1.begin(), map1.end(), printPair);
Compile
当前函数名
在大多数编译器中,__FUNCTION__ 宏会被替换为当前函数名
cout << "Current Function: " << __FUNCTION__ << endl;
- __FUNCTION__ : myfun
- __func__ : myfun
- __PRETTY_FUNCTION__ : void sys_info(string), gcc