Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление объектов, Корректно ли? 
:(
    Опции темы
bel_nikita
Дата 10.3.2004, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2304
Регистрация: 12.10.2003
Где: Поезд №21/22 ( ст . Прага )

Репутация: 21
Всего: 47



Есть структура:
Код
struct sErrorString{
char **ExtraString;
char   *String[5];
 sErrorString(){
   ExtraString=NULL;
   memset(&String[0],NULL,5*sizeof(char*));
 };
 sErrorString(char **aExtraString, char *aString1, char *aString2, char *aString3, char *aString4, char *aString5)
 {
   ExtraString = aExtraString;
   String[0]   = aString1;
   String[1]   = aString2;
   String[2]   = aString3;
   String[3]   = aString4;
   String[4]   = aString5;
 }
};


Где-то впрограмме выделяю память:
Код
if ( !m_MapErrorCode[Code].ExtraString )
{
 m_MapErrorCode[Code].ExtraString=new char *[5];
 for (int i=0;i<5;i++)
 {
  m_MapErrorCode[Code].ExtraString[i]=new char [80];
  sprintf(m_MapErrorCode[Code].ExtraString[i],"%s",m_MapErrorCode[Code].String[i]);
 }
}
sprintf(m_MapErrorCode[Code].ExtraString[NumStr],"%s",ErrString);


А, вот, собственно вопрос: Корректно ли я удаляю?
Код
 for( MapCode::iterator iter=m_MapErrorCode.begin(); iter!=m_MapErrorCode.end(); ++iter )
 {
   if ( iter->second.ExtraString ){
     for (int i=0;i<5;i++) if (iter->second.ExtraString[i])
       delete iter->second.ExtraString[i],iter->second.ExtraString[i]=NULL;
     delete []iter->second.ExtraString; iter->second.ExtraString=NULL;
   }
 }
 m_MapErrorCode.erase(m_MapErrorCode.begin(),m_MapErrorCode.end());



--------------------
user posted image — регистрация доменов от 150 руб.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0603 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.