常用语句 - C++:修订间差异

来自牛奶河Wiki
跳到导航 跳到搜索
无编辑摘要
无编辑摘要
第2行: 第2行:
==== 数值转为字符串 ====
==== 数值转为字符串 ====
  #include <string>
  #include <string>
  str1 = std::to_string(num1);
  str1 = to_string(num1);
==== 字符串转换成整数 ====
==== 字符串转换成整数 ====
  #include <string>
  #include <string>
  num1 = std::stoi(str1);
  num1 = stoi(str1);


=== 条件 ===
=== 条件 ===
==== map 元素是否存在 ====
==== map 元素是否存在 ====
  #include <map>
  #include <map>
  std::map<string, int> map1;
  map<string, int> map1;
  map1["key1"] = 123;
  map1["key1"] = 123;
  if (map1.count("key1")) {
  if (map1.count("key1")) {
     ...
     ...
  }
  }
=== 循环 ===
==== map ====
<nowiki># 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);</nowiki>


=== Compile ===
=== Compile ===
==== 当前函数名 ====
==== 当前函数名 ====
在大多数编译器中,__FUNCTION__ 宏会被替换为当前函数名
在大多数编译器中,__FUNCTION__ 宏会被替换为当前函数名
  cout << "Current Function: " << __FUNCTION__ << std::endl;
  cout << "Current Function: " << __FUNCTION__ << endl;
* __FUNCTION__        : myfun
* __FUNCTION__        : myfun
* __func__            : myfun
* __func__            : myfun
* __PRETTY_FUNCTION__ : void sys_info(std::string), gcc
* __PRETTY_FUNCTION__ : void sys_info(string), gcc





2024年8月23日 (五) 13:34的版本

转换

数值转为字符串

#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