STL bitset中一个语句的意思

adrianfeng 2006-09-09 09:19:56
在下刚学C++不久,看the C++ program language的STL时遇到问题:

bitset operator<<(size_t n) const {return bitset<N>(*this)<<=n;}

最后一句:return bitset<N>(*this)<<=n; 什么意思?
bitset<N>不是定义一个东西么?后面本身不就是一个bitset<N>类型的东西么?

轻砸
...全文
197 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
etymet2006 2006-11-02
  • 打赏
  • 举报
回复
mark
adrianfeng 2006-09-09
  • 打赏
  • 举报
回复
本来没注意,可是作者提了一下,我就一头雾水了,不爽啊
jixingzhong 2006-09-09
  • 打赏
  • 举报
回复
楼主你就先不要管这些细节了 ...

这个就是左移操作,
你明白这点就是了 ...
adrianfeng 2006-09-09
  • 打赏
  • 举报
回复
恍然,谢了!
i_noname 2006-09-09
  • 打赏
  • 举报
回复
return bitset<N>(*this)<<=n;
分开来看撒
bitset是带一个参数的模板类。
step1:bitset<N>(*this)
生成一个bitset<N>对象,这里是一个拷贝构造,拷贝*this
step2: <<=n
位操作,刚生成的对象左移n位
step3: return

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧