关闭

C++标准库

116人阅读 评论(0) 收藏 举报

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;
}



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    最新评论