Tôi đã xem qua một số mã mà nắm như sau:Tại sao bạn sẽ đúc các phần của bài tập?
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;
}
Tôi không hiểu được quan điểm của các diễn viên c-phong cách trong việc chuyển nhượng trong Foo :: set. Tại sao bạn sẽ đúc các lhs của một bài tập? Tôi có điên hay điều này có mục đích không?
để tránh cảnh báo trình biên dịch về mất chính xác, có thể? Tôi không chắc lắm. –