tuple, bitset

tuple, bitset

tuple : 是一个数据结构.
tuple类型的成员是固定的, 在初始化时要制出每一个成员.

bitset类是一个模板, 它类似于array类,具有固定的大小.


#include <iostream>
#include <cstdlib>
#include <string>
#include <tuple>
#include <vector>
#include <bitset>

int main()
{
	//tuple : 初始化
	std::tuple<int, double, std::string> tu1(1, 2.2, "abc");
	auto tu2 = std::make_tuple(2, 3.3, "def");  
	//tu1 = std::make_tuple(2, 3.3, "def"); 都可以;
	std::tuple<double, std::string, std::vector<int>> tu3(4.4, "xyz", { 1,2,3,4 });


	//使用 std::get<>()来获取对应的参数, 
	//角标跟数组一样从 0 开始. std::get<放角标>(放名字);
	//get 返回的是指定成员的引用, 即左值;
	auto x = std::get<1>(tu1);
	std::cout << x << "   " << std::get<2>(tu1) << "  " << std::get<2>(tu3).front() << std::endl;


	//相等;
	//tuple 的比较只有在两个 tuple的参数一样并且对应的参数类型一样才能进行比较;
	std::cout << (tu2 == tu1) << "\n";
	//std::cout << (tu1 == tu3);			编译报错;


	//bitset : 将其数字转换成对应的二进制;
	//bitset<位长度>;
	//bitset 初始化;
	//bitset支持角标 [];
	std::bitset<65> bit1(23004);
	//string : 比较特别; 它的第一位是从右边开始的, 所以 bit[0] = 0, bit[size()- 1] = 1;`
	std::string str = "101001000";
	std::bitset<64> bit2(str);
	std::bitset<32> bit3(str, 1, str.size() - 3); //从str[1]开始,str.size() - 3个长度;
	std::bitset<32> bit4(str, str.size() - 4);	  //str的最后4位;


	std::cout << bit1 << "\n";
	std::cout << bit2[0] << "\n";



	system("pause");
	return 0;
}

关于tuple 和 bitset 个人觉得做为了解吧, 等用的时候再来深入探究吧.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值