std::string
のstd::size_type
は、デフォルトのアロケータのこと、nposが-1の場合、size_typeは符号なし積分になりますか?
21.3.1クラステンプレートのbasic_string
typedef typename allocator_traits<Allocator>::size_type size_type;
とデフォルトのアロケータのためのstd::size_type
std::size_t
のものがあるがある場合は、
20.9.9デフォルトのアロケータ
typedef size_t size_type;
そして、我々はstd::size_t
は常に符号なし整数型であることを知って、
C++標準
5.3.3のsizeof
sizeofとsizeofの結果は...std::size_t
の定数です。
[注:のstd :: size_tのは、標準ヘッダで定義されて<cstddef>
8.2タイプ
内容は次のように変更して、標準のCライブラリヘッダ<stddef.h>
と同じである。
C標準
の6.5.3.4はsizeofと_Alignofオペレータ
両方の演算子の結果の値は実装定義である、
そのタイプ(符号なし整数型)<stddef.h>
(および他のヘッダ)に定義され、size_t
あります。
size_type
と定義すると、どうすれば-1になりますか?
'-1 'は暗黙的に' size_type'に変換されていますか? –
リンクしたページを実際に読んだことがありますか?最初の文章では「これはtype_type_typeで表現可能な最大値に等しい特別な値です」と記載されています。 – user463035818