- スレを勃てるまでもないC/C++の質問はここで 22
586 :568[sage]:2014/09/25(木) 08:55:09.18 ID:gq4fP5ox - >>585
オイラは>>583ではないが、そもそも話の本質はそこじゃないからな。
|
- スレを勃てるまでもないC/C++の質問はここで 22
587 :デフォルトの名無しさん[sage]:2014/09/25(木) 10:15:54.79 ID:gq4fP5ox - スマン。
CPerson person5("xxx"); // CPerson クラスの person オブジェクトを生成 CPerson person3(); // CPerson オブジェクトを返す関数を宣言 のようだ: The syntax T object(); does not initialize an object; it declares a function that takes no arguments and returns T. The way to value-initialize a named variable before C++11 was T object = T();, which value-initializes a temporary and then copy-initializes the object:
|
- スレを勃てるまでもないC/C++の質問はここで 22
588 :デフォルトの名無しさん[sage]:2014/09/25(木) 10:21:56.07 ID:gq4fP5ox - 最後、
: most compilers optimize out the copy in this case. が抜けていた。ここは大事。 >which value-initializes a temporary and then copy-initializes the object: は、テンポラリオブエジュクトを作ってから、それをコピーコンストラクタでコピーする という意味だが、実際のコンパイラはそんなことはせずに一気にデフォルト・コンストラクタを 呼び出す事が多い。それが、「: most」以下の部分が指摘していることだと思われる。
|
- スレを勃てるまでもないC/C++の質問はここで 22
589 :デフォルトの名無しさん[sage]:2014/09/25(木) 10:25:13.40 ID:gq4fP5ox - >>582 >>585
一応言っておくと、あなたは言葉が少なすぎるからそうなるんだよ。 知っているなら言葉で説明すべきなのに、人を馬鹿にしたような言葉だけを 書いて、内容は全く書いてない。 日本語が不自由な人が外国からアクセスしているのかも知れんが。
|
- スレを勃てるまでもないC/C++の質問はここで 22
590 :デフォルトの名無しさん[sage]:2014/09/25(木) 10:36:24.13 ID:gq4fP5ox - >>585
>偉そうな事言うなら そもそも、どこに偉そうなことを書いたのか、具体的に書いてくれ: (かなり腹立つから。)
|
- スレを勃てるまでもないC/C++の質問はここで 22
592 :デフォルトの名無しさん[sage]:2014/09/25(木) 12:54:24.76 ID:gq4fP5ox - >>591
C++処理系を自分で作ろうとした時などに、代入演算子とどちらが呼び出されるか 明確にしたい時があるんだよ。 使うに徹すればどちらでも同じ結果になるので大した問題にならない。
|
- スレを勃てるまでもないC/C++の質問はここで 22
594 :デフォルトの名無しさん[sage]:2014/09/25(木) 13:52:59.40 ID:gq4fP5ox - >>593
自分が答えていいのか分からんが、={・・・}の部分全体で「初期化子」 と命名されていて、=自体は演算子とは言われない。
|