C++常用方法总结

Vector方法

vector<int> temp(10, 2); //初始化 temp.size()为10
temp.push_back(5); //增加元素  
//删除元素(下面4行)
vector<int> temp(10, 2); // temp.size()为10
vector<int> :: iterator it;
it = temp.begin() + 10;
temp.erase(it); // temp.size()为9

queue方法

queue<int> myQueue;
myQueue.back(); //返回队列最后一个元素
myQueue.front(); //返回队列第一个元素
myQueue.empty(); //判断队列是否为空
myQueue.push(); //在末尾添加一个元素
myQueue.pop(); //删除第一个元素
myQueue.size() //返回队列中元素个数

stack方法

stack<int> myStack;
myStack.push(5); //将元素压入栈顶
myStack.pop(); //删除栈顶元素,但不会返回
myStack.top(); //返回栈顶元素,但不会删除
myStack.size(); //返回栈中元素个数
myStack.empty(); // 判断栈是否为空

map方法

map<int,int> myMap;
myMap.empty(); // 判断是否为空
myMap.insert(pair<int, int>(1,10)); //插入元素方法一
myMap[1] = 10;//插入元素方法二
myMap.find(1); // 查找键值为1的元素 if(myMap.find(1) == myMap.end()) 则没有找到。
//删除元素(下面3行)
map<int,int> :: iterator it;
it = myMap.find(1);
myMap.erase(it);
for(auto &i : myMap) cout<< i->first<< i->second<< endl;

set方法

set<int> mySet;
mySet.begin(); //返回set容器第一个元素的迭代器
mySet.end(); // 返回一个指向当前set末尾元素的下一位置迭代器
mySet.clear(); // 删除容器中所有元素
mySet.empty(); // 判断容器是否为空
mySet.size();  //返回容器中元素个数
mySet.inser(1); // 插入一个元素
mySet.erase(1); // 删除元素1
mySet.find(1); // 返回iterator
//set是自动排序的,插入元素后都是有序的

string方法

string str;
str.length(); //获取字符长度,不包括空字符
string str3 = str1 + str2; //字符串拼接方法一
str.append(str2); //字符串拼接方法二
str.compare(str1); // 字符串比较,相等返回0
reverse(str.begin(), str.end()); // 字符串反转
//字符串转字符数组(以下3行)
const char *a = str.c_str();
char *b = new char[20];
strcpy(b, a);

bitset方法

bitset<n> b; //定义和初始化; b有n位,每位都为0
b.size(); // 位个数
b.any(); // 是否存在位置为1的二进制位
b.count(); // 位置为1的二进制位个数
b[6]; // 访问第6位二进制位
b.set(); // 所有二进制位置为1
b.set(5); // 将第5位置为1
b.reset(); // 所有二进制位置为0
b.reset(5); // 将第5位置为0
b.test(5); // 访问第5位是否为1

stringstream方法

// 用来数值、字符串之间转换
stringstream strStream;
string str("123");
strStream<<str;
int temp = 0; 
strStream>>temp;

异或交换

int a = 0;
int b = 1;
//以下操作实现了swap(a,b)
a ^= b;
b ^= a;
a ^= b;

整数分割

int a = 12345678;
int b = a % 10; //获得个位数8
int c = a / 10; //获得1234567
发布了42 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/ustczhng2012/article/details/103322169