| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > наследование |
| Автор: Bibigon 23.11.2002, 09:58 |
| Есть класс А содержащий указатель ptr на массив элементов. В классе А функция addItem при добавлении проверяет если массив заполнен то увеличивает его в 2 раза void A::addItem(T rtItem) { if(nLastIndex == nSize) { T* TempArray = new T[2*nSize]; //************************************************************ // memcpy(TempArray,ptrData,nSize); for(int i = 0;i<nLastIndex;i++) *(TempArray + i) = *(ptrData + i); //************************************************************ delete []ptrData; ptrData = TempArray; nSize = 2*nSize; } *(ptrData + nLastIndex) = rtItem; nLastIndex++; } } |
| Автор: Bibigon 23.11.2002, 10:08 |
| внутри я отметил два варианта копирования массива через memcpy и через цикл for так вот при наследовании от А вариант с memcpy не работает не могу понять почему |
| Автор: seagull 2.12.2002, 09:43 |
| Скорей всего елементы массива занимают больше чем 1 байт. А memcpy() копирует лишь nSize байтов. |