C++11, 14の新機能

関数のデフォルト定義と定義の削除

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
このレッスンでは、明示的にデフォルト定義をさせる方法と、定義を削除する方法について説明します。
講師:
03:06

字幕

このレッスンでは、明示的にデフォルト定義を行う方法と定義を削除する方法について説明します。C++ では、クラスのコピーコンストラクタを自前で定義すると、デフォルトコンストラクタが生成されなくなります。実際にこのコードをコンパイルしてみます。この通り、デフォルトコンストラクタが存在しないというエラーが発生します。ここで、C++11 以降ではこのように= default と記述することで、定義の生成をコンパイラに任せることができるようになりました。実際にコンパイルしてみます。コンパイルが通りました。このデフォルト指定はデフォルトコンストラクタ、コピーコンストラクタ、ムーブコンストラクタ、コピー代入演算子、ムーブ代入演算子、デストラクタに使用できます。またデリート指定というものもあります。ここでは、クラス A のコピーコンストラクタをデリート指定してみます。デリート指定した関数を呼び出すコードは、コンパイル時にエラーになります。実際に、このデリート指定されたコピーコンストラクタを呼び出すコードをコンパイルしてみます。この通り、削除された関数を呼び出そうとするとエラーが発生しました。デリート指定はデフォルト指定と異なり、あらゆる関数に対して使えます。 例えばここで、クラス A に対してさらにコピー代入演算子もデリート指定すれば、クラス A はコピー不可能なクラスになります。また、関数の特定のオーバーロードに対してデリート指定し、特定の組み合わせでの呼び出しを防ぐといったこともできます。このレッスンでは、明示的にデフォルト定義をさせる方法と定義を削除する方法について説明しました。

C++11, 14の新機能

C++11,とC++14では大幅に機能追加が行われ、これまでのC++よりも遥かに快適なプログラミングが行えるようになりました。このコースではC++03からC++11とC++14で新たに追加された言語機能や標準ライブラリについて簡単に紹介します。進化したC++を知ってより快適にプログラミングを行うために、ぜひともこのコースをご覧ください。

1時間57分 (43 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 2,990
発売日:2015年10月15日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。