📄 non-type1.c
字号:
// PR c++/4377template < int I1, int I2 >class unit{public: typedef unit<I1,I2> my_type; unit() {} unit( const unit<I1,I2>& ) {} template< int Q1, int Q2 > unit< I1 + Q1, I2 + Q2 > operator * ( const unit< Q1, Q2 >& rhs ) const { return unit< I1 + Q1, I2 + Q2 >(); } template< int Q1, int Q2 > unit< I1 - Q1, I2 - Q2 > operator / ( const unit< Q1, Q2 >& rhs ) const { return unit< I1 - Q1, I2 - Q2 >(); }};// specialization added to first test//template <>class unit<0,0> {public: typedef unit<0,0> my_type; unit() {} friend unit<0,0> operator*( const unit<0,0>& lhs, const unit<0,0>& rhs ) { return unit<0,0>(); } friend unit<0,0> operator/( const unit<0,0>& lhs, const unit<0,0>& rhs ) { return unit<0,0>(); }};int main(){ const unit<1,0> u1; const unit<2,0> u2; unit<-1,0> u3( u1 / u2 ); unit< 3,0> u4( u1 * u2 );}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -