Особенно за перегрузку [][]. Попробую.
А вот вызов деструктора после операции присваивания это видимо особенность компиллятора VC++6. Потому что даже в более длинной цепочке операций, скажем:
A=B+C*D-F+G;
деструкторы промежуточных результатов вызываются только после обработки =, а не после использования возвращаемого значения в следующей операции.
To` раз спасибо за консультацию.