3
enum_valueの名前を返すget_name(...)メソッドを作成したいと思います。列挙型の値はほとんどありませんが、1^32-1までです(配列マッピングを使用することはできません)。私は次のようでした一時的なconst char *を返す - それは動作します
:
const char* get_name(type_t x) {
switch (x) {
case type_1: return "NAME_FOR_TYPE_1";
case type_2: return "NAME_FOR_TYPE_2";
...
}
return "INVALID";
}
は事実である:
const char* get_name(type_t x) {
static const char* name_1 = "NAME_FOR_TYPE_1";
static const char* name_2 = "NAME_FOR_TYPE_2";
...
static const char* invalid = "INVALID";
switch (x) {
case type_1: return name_1;
case type_2: return name_2;
...
}
return invalid;
}
その後、私は次のようにも動作しますと言われましたか?それはいつも働くでしょうか?
一時的にポインタを戻していませんか?
「一時的」とは何ですか?スコープと生涯について読んだことがありますか?どの部分が混乱していましたか?あなたの研究を分かち合うことは、他の人にも役立つことが分かります –