У меня есть класс, который выполняет протокол MSNP15 . Протокол требует от клиентов частого подключения / отключения к различным серверам, таким как диспетчерский сервер, сервер входа в систему и сервер коммутатора.
Я решил сохранить переменные, связанные с протоколом (например, жетоны билета, nonce и т. Д.), Как статические переменные-члены в служебном классе, как показано ниже:
class MsnUtility
{
public:
static void SetChallengeStringL ( const char *string );
static const char* GetChallengeString ( );
static void SetContactTicketL ( const char *ticket );
static const char* GetContactTicket ( );
private:
MsnUtility();
static char *iChallengeString;
static char *iContactTicket;
};
Приведенные выше статические переменные инициализируются значением NULL при запуске, а затем обновляются, когда токены становятся доступными при выполнении протокола.
Поскольку у меня нет доступа к стандартной библиотеке C ++ (так как я занимаюсь разработкой на платформе Symbian S60), я не могу использовать библиотеку строк. Будут ли выделенные символьные указатели освобождены при выходе из программы или есть какой-либо другой механизм, с помощью которого я мог бы гарантировать, что они освобождены.
Я также открыт для альтернативных проектных предложений.