c – 你为什么要施放作业的lhs?

c – 你为什么要施放作业的lhs?,第1张

概述我遇到了一些可归结为以下内容的代码: 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;} 我遇到了一些可归结为以下内容的代码:
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?我疯了,还是有目的?

解决方法 在这种情况下,我看不出任何投射的原因,因为投射的东西与演员阵容的类型相同.通常,它可以用于强制使用特定的分配运算符.

我现在将重复我的口头禅:如果你的代码包含强制转换,那么代码或设计可能有问题,你应该检查两者以便删除强制转换.

总结

以上是内存溢出为你收集整理的c – 你为什么要施放作业的lhs?全部内容,希望文章能够帮你解决c – 你为什么要施放作业的lhs?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1258442.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存