您的位置:首页 > 编程语言 > C语言/C++

C++primer学习:标准库特殊设施:bitset

2015-12-09 17:12 288 查看

(1):标准库定义了bitset类,使得位运算的使用更加容易.

例子1:定义一个数据结构,包含一个整形对象,记录一个包含10个文图的测验的解答.编写一个函数可以更新答案.编写一个函数获得学生成绩。

//注意:由于类的成员bitset是一个模板,所以我们需要将该类也定义为一个含有显示模板实参的类.
template<size_t M>
class test
{
template<size_t N>
friend size_t grade(test<N>const&, test<N>const&);
public:
test(size_t n) :bvec(n){}
void inline update(size_t index, bool is_true){bvec[index] = is_true;}
private:
bitset<M>bvec;
};
template<size_t N>
size_t grade(test<N>const& lhs, test<N>const& rhs)
{
auto score = (lhs.bvec^rhs.bvec);
return score.size() - score.count();
}
int main()
{
test<10>ans(999);
test<10>stu(987);
cout<<  grade<10>(ans, stu);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: