私はMSNP15プロトコルを実行するクラスを持っています。このプロトコルでは、クライアントは、ディスパッチサーバー、ログインサーバー、およびスイッチボードサーバーなどのさまざまなサーバーへの頻繁な接続/切断を実行する必要があります。C++クラスの設計上の問題
Iは、以下のようなユーティリティクラスの静的メンバ変数として(チケットトークンなど、ナンスなど)プロトコルに関連する変数を格納することを決定した:次いで、上記の静的変数は、起動時にNULLに初期化され
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;
};
とプロトコルが実行されるときにトークンが利用可能になったときに新しくされました。
私はC++標準ライブラリ(Symbian S60プラットフォームで開発中)にアクセスできないため、文字列ライブラリは使用できません。割り当てられた文字ポインタは、プログラムが終了したときに解放されるか、解放されることを確実にするための他のメカニズムがありますか?
代替デザインの提案もあります。
あなたは小さな文字列クラスを作成してみませんか?賢くなる必要はありません、単純なものは裸のポインタよりも良いでしょう。もしあなたが敢えていなければ、いくらか古くて良いC++の本を選んでください。一度文字列クラスを書くことは、C++プログラマのための非常に一般的な屋内スポーツであり、標準ライブラリよりも前の文章で記述する必要があります。もはやC++の初心者でないなら、これは午後または1日以上かかるべきではありません。 – sbi