C++11, 14の新機能

スマートポインタ

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
このレッスンでは、追加されたスマートポインタクラスについて説明します。
講師:
03:29

字幕

このレッスンでは、追加されたスマートポインタについて説明します。スマートポインタとは、簡単に言うと、ポインタへのデリートを自動的に行ってくれるポインタをラップしたクラスです。ここでは、デストラクタで文字列を出力する構造体 A を定義し、実際に自動的にデリートが行われるか確認してみたいと思います。C++11 では、スマートポインタとしてunique ポインタとshared ポインタが標準ライブラリに入りました。ひとまず、ここではunique ポインタを使います。実際にコンパイルして実行してみます。この通り、A のデストラクタが呼ばれています。この例では unique ポインタをshared ポインタに変えてもあまり違いはありません。コンパイルして実行してみます。同じく A のデストラクタが呼ばれました。shared ポインタとunique ポインタの違いは、共有ができるかどうかです。unique ポインタの場合、もう1つ unique ポインタを定義しそこで p の値も一緒に指し示そうと思ってもうまくいきません。これは unique ポインタがコピー不可能なクラスだからです。しかし std::move を使うことによってmove semantics が働き、ここで p から p2 に所有権を移譲することができます。 この通り unique ポインタは共有ができないポインタなのです。共有ができない代わりに、shared ポインタと比べてより速く動きます。shared ポインタの場合は、ポインタ値の共有ができます。もちろん move で所有権を移動することもできます。この場合 p とそれをコピーした p2、両方とも寿命を迎えたときに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宛までご連絡ください。