C++ 标准区分内置类型和struct
或class
类型。对于后者,如果语言提供了适当的运算符,则允许重载运算符,例如+
,*=
或&
,但对于内置类型则不允许。AFAIK,标准中没有提到 SSE/AVX 类型(但请纠正我),所以应该能够声明这些运算符。GCC 不允许这样做,但 ICC 允许。哪一个是正确的?
我真的很想拥有按位操作(如&=
),但令人讨厌的是,GCC 不提供它们(for __m128
),也不允许我声明它们。
C++ 标准区分内置类型和struct
或class
类型。对于后者,如果语言提供了适当的运算符,则允许重载运算符,例如+
,*=
或&
,但对于内置类型则不允许。AFAIK,标准中没有提到 SSE/AVX 类型(但请纠正我),所以应该能够声明这些运算符。GCC 不允许这样做,但 ICC 允许。哪一个是正确的?
我真的很想拥有按位操作(如&=
),但令人讨厌的是,GCC 不提供它们(for __m128
),也不允许我声明它们。