人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

c++のテンポラリオブジェクトについて質問です。
適当なclass Dateとそれらのコンストラクタ、デストラクタを定義したします。
もし
Date test(Date dt){処理}という関数を実行した場合、
引数、戻り値にはテンポラリオブジェクトが作成されると思います。
それらのテンポラリオブジェクトのコンストラクタ、デストラクタは、呼び出されますか?
適当なプログラムで試した所デストラクタしか呼び出されませんでした。

●質問者: iwasan1936
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3

引数や戻り値の一次オブジェクトを作成する際に呼び出されるのは、コピーコンストラクタです。
引数なしのデフォルトコンストラクタではありません。

class Date {
public:
 Date() { // こっちじゃなくて
 ...
 }
 Date(const Date& o) { // こっちが呼ばれる
 ...
 }

};
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ