Тип возврата побитовых операторов в C++

Когда я внедряю шаблонные классы для небольших математических векторов, я столкнулся с одной проблемой. Для арифметических операций возвращаемый тип T1 lhs + T2 rhsstd::common_type<T1, T2>::type.. Но каков тип возвращаемого значения для следующего (, например, T1 signed и T2 unsigned или наоборот, или T1 char и T2 unsigned long long int и т. д.):

T1 lhs & T2 rhs ?
T1 lhs | T2 rhs ?
T1 lhs ^ T2 rhs ?
T1 lhs << T2 rhs ?
T1 lhs >> T2 rhs ?

Большое тебе спасибо.

6
задан Vincent 31 July 2012 в 18:01
поделиться