У меня есть класс, который выполняет протокол MSNP15. Протокол требует от клиентов частое подключение/отключение к различным серверам, таким как сервер отправки, сервер входа и сервер коммутатора.Проблема проектирования класса C++
я решил хранить переменные протокола по связанных (например, жетонов билетов, 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), я не могу использовать библиотеку строк. Выделите выделенные указатели символов, когда программа выйдет или есть какой-либо другой механизм, благодаря которому я мог бы обеспечить их освобождение.
Я также открыт для альтернативных предложений по дизайну.
Почему бы вам не пойти дальше и написать небольшой класс строк? Не нужно быть умным, просто простой был бы лучше, чем голые указатели. Выберите любую из более старых, но хороших книг на C++, если вы не посмеете. Написание классов строк однажды было очень популярным спортом в помещении для программистов на С ++ и должно быть описано в любой достойной текстовой книге, достаточно старой, чтобы предшествовать std lib. Если вы больше не начинаете C++, это не займет больше дня или дня. – sbi