プログラミング歴10年以上の先輩が上のような実装をしたんだけどさ...
キャメルケースに大文字を使ってるのが違和感あるんだよね
後、私はメソッドに動詞を書くのは必須だと思うのよ Get、Set、Find、Clear、Cancel...etc。
つまりこんな感じ
まぁこれは些細な問題だから割とどうでも良いんだけど
さらに上級者が書いたコードを見るとこんな実装してるんよ
メンバ変数を全てプライベートクラスにまとめてるんよ
こういう実装にしたほうが後々ぐちゃぐちゃにならずに済む気がするんですよ
dataPtrの使い方はPiyoClassのコンストラクタのコロン:の右で(new)して初期化してるわ
Piyo::Piyo() : dataPtr(new PiyoPrivate) { this->dataPtr->foo = hogehoge;
スマートポインタだからdeleteは無し
おさらいとして、C++は空き領域にあるオブジェクトの管理を支援するための2種類のスマートポインタを提供しているよ
[1] unique_ptr :独占的な所有権を表す。
[2] shared_ptr:共有された所有権を表す。
上記の例では独占的な所有権を表しているからunique_ptrを使っているわ
さらに、このPrivate Classはメンバ変数だけてなく、std::functionでコールバック関数をセットすることもできるわ