Надо ли определять ещё и оператор присваивания? Такой:MyType(OtherType value);
Пожалуй, да. Без него, смотрим disassembly MS Visual Studio 2005 для Debug, при присвоении MyType-у OtherType-а есть вызов конструктора и отдельно присвоение двумя mov-ами, с ним - просто вызов оператора присваивания.MyType&operator=(OtherType value);