細かい質問ですが、自分の頭を整理したいので、よろしくお願いします。C++で次のようなクラスがあったとして、
class MyClass{ public: MyClass(int i); ...略... }
色々な参考書には「コンストラクタは、自動的に呼び出されるメンバー関数」、あるいは、「直接コンストラクタを呼び出していない」等と書かれています。たとえば、c++でクラスをインスタンス化するときに:
MyClass obj(1);
これで問題ないのですが、ストロヴストルップが『C++ Programming』に
MyClass obj = MyClass(1); //これでも良い、が冗長
ということを書いています。MyClass obj(1); というのは糖衣構文なのでしょうか? コンストラクタは、メンバー関数なので、どうしてもMyClass obj = MyClass(1); とやりたくなるのですが、良くないのでしょうか?ご意見、ご批判お聞かせください。
回答2件
あなたの回答
tips
プレビュー
2018/07/05 21:14
2018/07/06 11:51
2018/07/06 11:53
2018/07/10 05:04