ある種の形式(リスト)で(メタプログラムのコンパイル時に)利用可能なすべてのプリミティブ型のリストを返す関数はありますか? おかげC++のプリミティブ型のリスト
答えて
不適切な質問。
種類の一覧は何ですか? std::list<T>
?または配列ですか?
std :: listの場合、Tとは何ですか? T = "std :: string"?
すべての種類のリストはC++標準で説明されています。
bool
signed/unsigned char
signed/unsigned short int
signed/unsigned int
signed/unsigned long
size_t
wchar_t
float
double
あなたは 'long double'と平易な' char'がありません。さらに、 'size_t'は一般に特殊な型ではなく、typedefです。 – MSalters
はありません - この種の実行時のイントロスペクションは、(あなたはあなたが実際に必要とするタイプ名のリストを与えるランタイム機能で何をしますか共通でも可能でもC++に有用ではありませんあなたのコードを最初に書く?)。
言語によってサポートされるプリミティブ型は、次のとおり
bool
(unsigned,signed) char
wchar_t
(unsigned) short
(unsigned) int
(unsigned) long
[(unsigned) long long]
float
double
[long double]
個々のコンパイラは、より多くのサポート、および多くの種類が一般的に利用可能なが、上記プリミティブ型(すなわちuint32_t
など)typedefingによって実現されます。
完全なリストについては、言語仕様を参照してください。
上記のほとんどにも 'unsigned'バリアントがあります... –
Jepp、私はリストを編集しました。ちょっと混乱しました: -/ –
'long long'は標準タイプではありません。 –
あなたがC++標準§ 3.9.1に見つけることができる基本的なタイプの完全なリスト:
char
signed char
short int
int
long int
unsigned char
unsigned short int
unsigned int
unsigned long int
wchar_t
bool
float
double
long double
void
注signed char
、char
プレーン、およびunsigned char
は三つの異なるタイプであること。 C++標準では、size_t
とptrdiff_t
も定義されています(基本的ではありません)。
すべての標準準拠のコンパイラがこれらすべてのタイプをサポートすることが期待できます。各特定のコンパイラは、拡張としてサポートされるより多くの追加の型をサポートすることができます。
- 1. のC#、反射とプリミティブ型
- 2. Objective-C setValue:cプリミティブ型のforKey
- 3. Objective-Cのインポート、Cygwinのプリミティブ型
- 4. プリミティブ型のC++ const修飾子
- 5. プリミティブ型
- 6. プリミティブ型のスカラマップ値型
- 7. イベントの非プリミティブ型
- 8. 比較プリミティブ型
- 9. Hibernateプリミティブ型マッピング
- 10. プリミティブ型の "value"のデフォルト値
- 11. Cassandraのプリミティブ型とオブジェクト型の保存
- 12. コンパイル時のプリミティブ変数型
- 13. NSCode:プリミティブ型のエンコーダとデコーダ
- 14. protobuf 3のプリミティブ型any
- 15. パフォーマンス:typedefとプリミティブ型のラッパークラス?
- 16. プリミティブ型は錆で
- 17. objective-cのプリミティブ型にメモリを割り当てるベストプラクティス
- 18. のJavaのtoArray()メソッド:プリミティブ結果型
- 19. テンプレート内のプリミティブ型の識別
- 20. エンティティフレームワークのコードファーストとプリミティブ型のコレクション
- 21. ClassLoaderでプリミティブ型を使用
- 22. RESTeasy Webサービスへのプリミティブ値のJSONリスト。
- 23. プリミティブ型のマルチスレッドと演算子++
- 24. クラス型パラメータ渡しのJavaプリミティブ
- 25. Java - プリミティブ型のリスナーを変更する
- 26. プリミティブ配列と汎用リストの比較
- 27. C# - 複数のジェネリック型のリストII
- 28. C++でのクラス内の非プリミティブな静的データ型の初期化
- 29. だけがプリミティブ型または列挙型は、この文脈
- 30. プリミティブ型のint型でtoString()を呼び出せません
言語がサポートしなければならないプリミティブ型を規定した言語標準を読み、[こちらをご覧ください](http://en.wikipedia.org/wiki/C_variable_types_and_declarations#Basic_types)。 –
@Kerrek SB:必ずしも網羅的なリストではないことに注意してください。それは唯一のものであり、コンパイラは '__int128'を完全に自由に追加できます。 – MSalters