c – 你为什么要施放作业的lhs?
发布时间:2020-12-16 03:46:21 所属栏目:百科 来源:网络整理
导读:我遇到了一些可归结为以下内容的代码: enum BAR { /* enum values omitted */ }class Foo{public: void set(const BAR bar);private: uint32_t bits;};void Foo::set(const BAR bar){ (uint32_t)bits = bits | bar;} 我不明白Foo :: set中赋值的c风格转换点
我遇到了一些可归结为以下内容的代码:
enum BAR { /* enum values omitted */ } class Foo{ public: void set(const BAR& bar); private: uint32_t bits; }; void Foo::set(const BAR& bar) { (uint32_t&)bits = bits | bar; } 我不明白Foo :: set中赋值的c风格转换点.你为什么要施放作业的lhs?我疯了,还是有目的? 解决方法
在这种情况下,我看不出任何投射的原因,因为投射的东西与演员阵容的类型相同.通常,它可以用于强制使用特定的分配运算符.
我现在将重复我的口头禅:如果你的代码包含强制转换,那么代码或设计可能有问题,你应该检查两者以便删除强制转换. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ajax – Node.js / Express POST请求正文解析为不正确的JSO
- as3编程:警告: 域 xx 没有指定元策略的解决办法
- ruby-on-rails – 邮件gem在升级到Rails 5.0.6后不发送电子
- Ajax js 使用Ajax检测用户名是否存在
- 【React Native系列教程】Mac(OSX)平台搭建React Native开发
- oracle – DBMS_LOB.SUBSTR()抛出“字符串缓冲区太小”错误
- 随机查询
- Oracle 11.2.0.3 on windows 2008 r2
- 用Dojo实现Ajax请求:XHR、跨域、及其他
- 解决 cocos2d-js 中 cc.EditBox 或 cc.Scale9Sprite is not