私はしばしば、C++が単にwchar
の代わりにwchar_t
という名前で行った理由を疑問に思っています。私は決して答えを見つけることができませんでした。検索エンジンは、私がWindowsのWCHAR
タイプについて尋ねていると思うので役に立たない。何か案は?「wchar_t」ではなく「wchar_t」と呼ばれるのはなぜですか?
24
A
答えて
32
5
私はこれがCとC++の成長の「段階」だったと思います。いくつかの新しいタイプの必要性が感じられましたが、新しいキーワードの追加は常に論争されています。コードによってはすでにwchar
が使用されていましたが、コードのほうがwchar_t
だったはずです。 size_t
とdiff_t
は同じ時代であることに注意してください。
11
C標準ライブラリでは、ライブラリ内で定義されている多くのタイプの接尾辞の末尾に_t
が使用されています(キーワードとしてC自体に焼き付けられたタイプとは異なります)。
例えば、(とにかく私にとって)などtime_t
、wchar_t
、uint32_t
、size_t
、ptrdiff_t
、div_t
、興味深いの
がありますC規格では、自分自身のためにそのフォームの名前を予約していないということです。 C標準は、 "str
"、 "mem
"などの接頭辞で始まる名前が将来標準に追加される可能性があることを示していますが、末尾の名前が "_t
" 「int
」または「uint
」で始まり「_t
」で終わる名前が、将来は<stdint.h>
に追加される場合があります。しかし、POSIXは "_t
"で終わるすべての名前を予約します。
関連する問題
- 1. wchar_t *のwchar_tにはどうすればアクセスできますか?
- 2. 演算子wchar_t **()はconst wchar_tへの暗黙的な変換を提供できません** - なぜですか?
- 3. wchar_t *
- 4. wchar_tとwint_t
- 5. wchar_tとPOSIXライブラリ
- 6. NSStringからwchar_t *?
- 7. malloc:printfとNULL wchar_tでエラーダブルフリー*
- 8. なぜ空のwchar_tリテラルが許可されていますか?次のコードで
- 9. `wint_t`と` wchar_t`にキャストする方法は?
- 10. wchar_tの読書
- 11. Wchar_tの置換
- 12. '仮想char型のstd :: CTYPE <wchar_t> :: do_narrow(wchar_tは、CHAR)constは' の
- 13. char vs wchar_t
- 14. wchar_t *をwstringに変換するにはどうすればよいですか?
- 15. キャストはCONSTするwchar_t型のx []
- 16. wchar_tの使用中に同じ内容の2つの文字列が異なるのはなぜですか?
- 17. 「Time.zone.new」ではなく「Time.zone.local」と呼ばれるのはなぜですか?
- 18. wchar_tの内容をmallocされた別のwchar_t varにコピーできませんでしたか?
- 19. wchar_tとTCHARを連結する
- 20. wchar_tなしでUTF-8 charをデコード/エンコードする方法
- 21. WCHARとwchar_tを一般的なものに置き換える
- 22. C - wchar_tは不要な文字を表示します
- 23. 「タイプクラス」は「タイプクラス」と呼ばれるのはなぜですか?
- 24. RESTはアーキテクチャスタイルと呼ばれるのはなぜですか?
- 25. タイプのマッピング:JNAのwchar_t *&とchar *&
- 26. UNICODE_STRING to wchar_t * null終了
- 27. C++短縮wchar_t配列
- 28. C++でintをwchar_t *に連結する方法は?
- 29. const wchar_t *パラメータで連結を作成するには?
- 30. C++でwchar_tポインタ変数を初期化する方法は?
ANSI標準が書かれた時と、MSがwcharをコンパイラに追加したときを見たいかもしれません。 wchar_tは、MSがサポートしているwchar_tとwchar_tを区別することです。私は間違っているかもしれないので、私はこれをコメントとして行いますので、私は下降しません。 :) –
標準委員会は、MSがMSが信じたいと思うことについて、それほど気にしない気がします; – Cogwheel