Здравствуйте, alexanderfedin, Вы писали:
A>сделай:
A>A>template <typename _Ty, typename _Traits = DefaultTraits>
A>class CArrayClass
A>{
A> friend class _Traits;
A> ...
A> static void copy(_Ty *pDst, const _Ty &src)
A> {
A> _Traits::copy(pDst, src);
A> }
A> static bool compare(const _Ty &lhs, const _Ty &rhs)
A> {
A> return _Traits::compare(lhs, rhs);
A> }
A>};
A>
A>никакой виртуальности, работает быстро.
Спасибо! Но я ничего не понял =))
т.е. обойтись совсем без базового класса (тот, который оперирует PBYTE)? Тогда будет 15 классов (типов же 15), мне это не нравится =((
а _Traits это что? интерфейс? и два (DefaultTraits, PointerTraints) класса с ним?
Пожалуйста, можно подробней?