実践C++入門講座
第37回目 ムーブの使いどころ
2017年9月17日 実践C++入門講座
こんにちは。田原です。 今回は、最後にムーブの使いどころについて解説します。ムーブはC++11前までは無かった機能ですので頻繁に使われるわけではありません。意外に使いどころが難しいです。しかし、実は標準ライブラリで有効に …
第36回目 最後の特殊メンバ関数ムーブ・コンストラクタ
2017年9月10日 実践C++入門講座
こんにちは。田原です。 今回は最後の特殊メンバ関数ムーブ・コンストラクタとその使い方について解説します。また、特殊メンバ関数は常に自動生成されるわけではありません。自動生成されないのはどんな時か、またその理由について説明 …
第35回目 ムーブと右辺値参照と特殊メンバ関数と
2017年9月3日 実践C++入門講座
こんにちは。田原です。 前回、6つの特殊メンバ関数の内の4つを解説しました。今回は残りの2つのうちの一つムーブ代入演算子とそれにまつわるムーブ・セマンティクス、そして、C/C++歴史上4番目のポインタ(的なもの)「右辺値 …
第34回目 6個のスペシャルなメンバ関数
2017年8月27日 実践C++入門講座
こんにちは。暑い日が続いてます。ちょっと夏バテ気味の田原です。 さて、C++のクラスにはスペシャルなメンバ関数が6個あります。このように書くとなんだか特別でC++らしく非常に難しいメンバ関数がありそうですが、実は全くそん …
第33回目 C++の型変換でバグを未然に防ごう
2017年8月20日 実践C++入門講座
こんにちは。田原です。 C言語の明示的な型変換は1つしかありません。問答無用に変換するので使い方を誤りやすくバグの元になり勝ちです。それに比べC++の明示的な型変換は危険なものが別れているためそれを使わないよう避けておけ …
第32回目 ちょっとイライラするconst。でも、実は頼もしい奴です。
2017年8月6日 実践C++入門講座
こんにちは。田原です。 書き換えてはいけない変数を間違って書き換えるバグのデバッグはたいへんです。問題発生時のログを精査するなどいつも苦労します。しかし、そんなこともあろうかとC++にはconstと言う概念が用意されてい …
第31回目 イテレータの仕組みと範囲ベースforの仕組み
2017年7月30日 実践C++入門講座
こんにちは。田原です。 難しい話が続いたので、ちょっと気楽にfor文について解説します。C++ではC言語にはなかった「イテレータ」が追加されました。そして、C++11ではコードがスッキリして可読性が上がる範囲ベースfor …
第30回目 「例外」の要注意事項
2017年7月24日 実践C++入門講座
こんにちは。田原です。 前回、例外の使い方とその便利良さを解説しました。 いつも退屈で憂鬱なエラー処理の記述とテストをかなり削減できる本当にありがたい機構なのですが、使い方が難しいです。その難しい部分(特に避けて通った方 …
第29回目 異常系プログラミングを簡単化する「例外」
2017年7月16日 実践C++入門講座
こんにちは。田原です。 今回から2~3回に分けて例外について解説します。C言語時代、例外がなかった頃のエラー処理はたいへんでした。一々関数の戻り値をチェックしてエラー処理を書く必要があったからです。それはもう退屈でテスト …
第28回目 staticメンバ、および、クラス外でメンバを定義する
2017年7月9日 実践C++入門講座
こんにちは。田原です。 前回まででクラスの基本の重要部分の解説が終わりましたが、あともう少し説明しておくべきことが残ってます。今回はその残りのstaticメンバとクラス宣言の外でメンバを定義する方法などについて解説します …