C 列挙型を文字列に簡単にマッピング
C プログラミングでは、ライブラリ ヘッダーでさまざまな列挙型に遭遇することがあります。列挙型と人間が読める文字列の間の変換を容易にするために、開発者は多くの場合、洗練された効率的なソリューションを求めます。通常、総当たりアプローチには、各列挙値を文字列に変換する複数の関数の作成が含まれます。ただし、この方法には、多くの人が望んでいる洗練さと使いやすさが欠けています。
解決策の 1 つは、テンプレートを利用することです。テンプレートを活用すると、任意の列挙型を対応する文字列にマップする汎用関数を作成できます。ただし、このアプローチでは元の enum 定義を変更する必要があり、サードパーティのライブラリに依存しているため、常に実行可能であるとは限りません。
enum 定義を変更できない状況では、次のアプローチを検討してください。
カスタムの map_init クラスは、列挙型文字列のペアを簡潔で読みやすい形式で指定することにより、マップを初期化する便利な方法を提供します。やり方。以下に例を示します:
結果は、アクセスできる完全に設定されたマップになります:
このアプローチは、列挙型を文字列に変換するクリーンで効率的なソリューションを提供します。ユーザーフレンドリーでわかりやすいメッセージをアプリケーションに表示します。
以上がEnum 定義を変更せずに C Enum を文字列に簡単にマップするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。