Re[2]: Перегрузка оператора и конструктор копии
От: Bell Россия  
Дата: 27.12.02 07:47
Оценка:
Здравствуйте, comer, Вы писали:

C>Можно сделать промежуточный класс который будет возвращать оператор[] твоего класса, и который сам будет иметь оператор[].

...

Если скорость играет решающую роль, то можно сделать еще вот так:

template <typename T>
class myarr
{
   T* m_data;
   int m_nColumns;
   int m_nRows;//Нужен только для контроля корректности индексов
public:
...
   T* operator[] (size_t nRow) { assert(nRow < m_nRows); return m_data + nRow*m_nColumns; }
};


минус этого подхода — невозможно проверить второй индекс в выражении [][]
Любите книгу — источник знаний (с) М.Горький
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.