この記事を読んだ後int ()
、一時int
は値で初期化int()
されており、のデフォルトコンストラクターを呼び出すためではなく、0を生成することを指摘しましたint
。(私の理解によると、記事には欠陥があります。)
また、プリミティブ(組み込み)型にはコンストラクターがないことも言いました。元の作者は私にセクション$10.4.2(TC ++ PL)をチェックするように頼みました。
組み込み型にはデフォルトのコンストラクターもあります($ 6.2.8)
しかし、「C ++では、組み込み型(プリミティブ型)でもデフォルトのコンストラクターを使用できる」というステートメントはまだあると思います。欠陥があります(C ++ 03による)。
TC ++ PLのBjarneは、「表記法のようなコンストラク()
ター」と実際のコンストラクター呼び出しを混同していると思います。Bjarneが本を書いていた当時、値の初期化は導入されていませんでしたね。では、C++98およびC++03のように、TC ++ PLのテキストは正しくありませんか?
皆さんはどう思いますか?
編集
私はBjarneに個人的に(メールで)TC ++ PLの欠陥のあるテキストについて尋ねました、そしてこれは彼の返事でした
「実際のコンストラクター呼び出し」と概念的にコンストラクターを持つことを混同していると思います。 組み込み型にはコンストラクターがあると見なされます(標準がその動作を説明するために使用する単語は何でも)。