求对bitset.to_string的标准用法的解释
"
....
bitset< 32 > bitvec3( 012 );
....
we can convert any bitset object into a string representation using the to_string() operation:
string bitval( bitvec3.to_string() );
....
"
[ C++ Primer,3rd, P170~ 171 ]
然而在 VC 7.1 / DEV C++ 4.9.8 中这样的操作都是编译期错误:
=========================
std::bitset< 32 > bts;
bts.to_string();
=========================
bitset::to_string()在 VC 7.1中的原型返回 basic_string<_Elem,_Traits,_Ax> ,而to_string函数模版没有直接指派这三个参数。
调用时必须
=========================
a.to_string< char, std::char_traits<char>, std::allocator< char > > ();
=========================
我想问一下,究竟哪个符合C++标准? 难道C++ Primer仍然不是最纯正的ANSI C++么? 或者VC和DevC++编译器在这一点上不符合标准? 又或者标准变迁了?
如果C++ Primer在某些地方犯了类似错误,那么我读完他之后应该读什么书?
相关推荐
bitset用法 bitset用法
bitset用法bitset用法bitset用法bitset用法bitset用法bitset用法
基于C++ bitset常用函数及运算符(详解)
下面小编就为大家带来一篇基于C++ bitset常用函数及运算符(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
认识C++中的bitset类型
认识标准库bitset类型 位是用来保存一组项或者条件的yes/no(1或者0)信息的一种简洁方法,那么位集是二进制位的有序集。C++中标准库提供的bitset类在我们程序中很有效的简化了对于位集的处理。 bitset对象的定义 我们要使用bitset,首先需要包含头文件bitset。和vector对象不一样的是bitset类型对象的区别仅在其长度而不在其类型。在定义bitset的时候,要明确bitset包含了多少位,须在尖括号内给出它的长度值。长度值必须定义为整形字面值常量或是已用常量值初始化的整型的const对象。 1 const int maxn=16; 2
C++ std::bitset使用精讲[代码]
本文详细介绍了C++标准库中的std::bitset类,包括其定义与初始化、操作接口、高级用法、线程安全性以及实际应用场景。std::bitset是一个用于处理固定大小位集的模板类,提供了丰富的位操作功能,如设置、清除、翻转和测试位。文章通过多个示例展示了如何使用std::bitset解决实际问题,如快速判断数据是否在集合中、求集合的交集和并集、数据统计次数等。此外,还讨论了std::bitset的优缺点,帮助读者更好地理解其适用场景和限制。
C++下bitset简介
C++下的bitset,强大而简单的位运算功能,象使用数组一样对位进行操作


