Показать сообщение отдельно

  #4  
Старый 17.02.2008, 19:23
razzzar
Участник форума
Регистрация: 16.06.2007
Сообщений: 107
Провел на форуме:
725870

Репутация: 208
По умолчанию

KEZ, класс писался под мой проект, и там мне надо чтобы возвращало именно char *, поэтому я его и возвращаю. Кому надо спокойно может переделать чтобы возвращало то что ему нужно
Что тебе не нравится в пустом деструкторе?
Чем напрягает return NULL; это одно и тоже что написать return 0; Все-равно при компиляции компилятор так и сделает, т.к. NULL определен посредством #define в 0 =\

Теперь насчет твоего кода
Код:
Tokenize(const char * Src,const char * Tokens = "|")
	{
		m_Pos = m_Source = strdup(Src);
		m_End = m_Pos+strlen(m_Pos);
		mg_Ret = 0;
		m_Tokens = strdup(Tokens);
	}

	~Tokenize()
	{
		delete m_Source;
		if (m_Tokens)
			delete m_Tokens;
		if (mg_Ret)
			delete mg_Ret;
	}
Сначала определяешь строку как m_Source = strdup(Src); средствами crt, а потом ее удаляешь уже средствами C++: delete m_Source; причем правильно было бы указать так: delete [] m_Source;