c++常用函数

<iostream>
<algorithm>
<math.h>
<sstream>
Using namespace std;
<string.h>
char *strchr(const char *str, int c) 
char *strstr(const char *haystack, const char *needle)
int strncasecmp(const char *s1, const char *s2, size_t n);
char * strncpy(char *dest, const char *src, size_t n);
char *strcpy(char *dest, const char *src);
void *memcpy(void *str1, const void *str2, size_t n)
void *memset(void *str, int c, size_t n)
int strcmp(const char* s1,const char* s2);

<stdlib.h>
int atoi (const char * str);
<stdio.h>
int sprintf(char *str, char * format [, argument, ...]);

#include<string>
string s1;
string s2(s1);
string s3("value");
string s3 = "value";
string s4(n, 'c');
string substr(int pos, int n)
const char* c_str()、const char* data()\\
string s(charArr, charArr + strlen(st))\\
string.append(1, 'c'); 添加一个c字符
string.erase(string.size() - 1); 删除最后一个字符
string.push_back('c')添加一个c字符
string.pop_back(); 删除最后一个字符
s1.compare(s2)返回值为0,则两者相等
string[index];
string.at(index);
stoi()、stol()、stoll()等把字符串转换成整数;
stof()、stod()等把字符串转换成浮点数;
to_string()把整数、浮点数转换成字符串。

pair<T1, T2> p1;
make_pair(v1, v2);
p1.first;
p1.second;
queue.push({1,2})
count(t1.begin(), t1.end(), ' ');

int arr[100];
for (Person p : arr)
for (const Person &p : arr)

#include <vector>
vector<T> v1;
vector<T> v2(v1);
vector<T> v2 = v1;
vector<T> v3(n, val); \\vector<int> v1(10,1);
 vetor<T> v4(n); \\ vector<int> v1(10);
vector<T> v5{a,b,c}; \\ vector<int> v1{10,1};
vector<T> v5 = {a,b,c};
vector<vector<T>> vec(row ,vector<T>(column));
vec.reserve(2); 目的是预设容量,避免动态扩充;
vec.resize(2);
vec.resize(10, 5); 
vec[i];
vec.at(i);超出时会抛出out_of_range
vec.push_back(1);
vec.emplace_back(1)
vec.pop_back();
vec.insert(vec.begin() + 2, 6); 在第二个位置插入6
vec.emplace(vec.begin() + 2, 6); 在第二个位置插入6
vec.erase(iterator position); 迭代器遍历时删除
vec.clear(); 清空元素
vec.empty(); 如果 vector 內部為空,則傳回 true 值
if (std::count(v.begin(), v.end(), key))
if (std::find(v.begin(), v.end(), key) != v.end())
find <algorithm>

#include <map>,#include <unordered_map>
map<string, int> m1;
m1["def"] = 2;
m1.insert({ "abc", 1 });
m1.insert(make_pair(string("def"), 2));
m1.insert(pair<string, int>(string("ghi"), 3));
map<string,int> m2 = {
    {"string",1}, {"sec",2}, {"trd",3}
};
// 遍历数组直接添加,不用判断是否存在
unordered_map<int, int> map;
for (auto& v : nums) {
	map[v]++;
}
count(key)
map.find(key) == map.end()
map.insert(pair<int,string>(1,"test"));
map[key] = value
map.erase(const key_type& k)

#include <set>,#include <unordered_set>
set.insert(xx)插入元素
set.size();获取元素个数
set.erase(); 删除集合中的元素
set.count(key)
set.find(key) == set.end()没有则返回map.end()。

#include <stack>
stack<int> stk; 创建栈;
stk.push(xx); 压栈元素
int number = stk.top(); 获取栈顶元素;
stk.pop(); 弹出栈顶元素
stk.size(); 获取栈内元素个数
stk.empty(); 判断是否为空

#include <queue>
queue<int> queue; 创建队列
queue.front();返回queue第一个元素的引用。
queue.pop();删除queue中的第一个元素。
queue.back();返回queue中最后一个元素的引用。如果 queue 是常量,就返回一个常引用;如果 queue 为空,返回值是未定义的。
queue.push(const T& obj)
queue.push(T&& obj);
queue.size();
queue.empty();

tolower()
void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);

reverse(str.begin(), str.end());
unordered_set<char> 哈希表
string::npos

['zero','one','two','three','four','five','six',
'seven','eight','nine','ten','eleven','twelve',
'thirteen','fourteen','fifteen','sixteen',
'seventeen','eighteen','nineteen']
 [0,0,'twenty','thirty','forty','fifty','sixty',
'seventy','eighty','ninety']

Sqrt()开根号;
Scanf(“%lf”, &a);


stringstream ss(str);
getline(ss, tmp, ' ')
if(cin.get() == '\n')

cout << fixed << setprecision()2<<d << endl;

[函数对象参数][函数参数]修饰符->返回值类型{函数体}
[&](float a, float b) {
return (std::abs(a) < std::abs(b));
}

#include <climits>
INT_MAX CHAR_MAX SHRT_MAX LONG_MAX

#includ<cstdlib>
#include<ctime>
rand(time(0));
int a=rand()%10;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值