1、标准库:string
#include <string>
int _tmain(int argc, _TCHAR* argv[])
{
std::string s1 = "1111111111";
std::string s2("1111111111");
std::string s3(9,'1');
std::string s4(s1);
s3 += "2222222";
if(s4 == s3) {
std::cout << 111;
}
return 0;
}
2、标准库:cctype
#include <cctype>
int _tmain(int argc, _TCHAR* argv[])
{
if(std::isalnum('1')) {
std::cout << "is isalnum" << endl ;
}
if(std::isalnum('a')) {
std::cout << "is isalnum" << endl ;
}
if(std::isdigit('1')) {
std::cout << "is isdigit" << endl ;
}
if(std::isdigit('a')) {
std::cout << "is isdigit" << endl ;
}
return 0;
}
3、标准库vector
#include <vector>
int _tmain(int argc, _TCHAR* argv[])
{
std::vector<int> vt;
int a = 12;
vt.push_back(a);
a = 13;
std::cout << *vt.begin(); //自解引用首个元素,输出:12
return 0;
}
1)说明:迭代器的 ==,!= 指的是是否指向同一个元素,vt.begin() == vt.end //如果为真,那么它们都指向了一个不存在的元素,说明向量为空。
2)const iterator 与 const_iterator 的区别
std::vector<int> vt;
vt.push_back(13);
const vector<int>::iterator cit1 = vt.begin();
cit1++; //error,不可修改迭代器本身
*cit1 = 12; //ok,可以修改迭代器指向的对象
vector<int>::const_iterator cit1 = vector.end();
*cit1 = 12; //error,不可以修改迭代器指向的对象
cit1++; // ok, 可以修改迭代器本身
3)任何改变vector长度的操作,都会导致迭代器失效。如果插入某个元素或擦除某个元素等。4、标准库 bitset
#include <bitset>
int _tmain(int argc, _TCHAR* argv[])
{
bitset<12> bitvec1;
bitset<4> bitvec2(0xFF);
string strval("1100");
bitset<8> bitvec3(strval);
std::cout << bitvec3[0] <<bitvec3[1] << bitvec3[2] << bitvec3[3] <<bitvec3[4] <<bitvec3[5] << endl; //输出:001100
std::cout << bitvec3 << endl;
bitset<4> bitvec4(strval,1,3);
std::cout << bitvec4[0] <<bitvec4[1] << bitvec4[2] << bitvec4[3] << endl; //输出:001100
return 0;
}