サクラ
を入力してから補完ウサクラエデ ィタ
を選ぶと、サクラサクラエデ ィタ
みたいに補完されるのだけど、trunkをデバ最終更新: 2017-10-01T01:05+0900
https://svn.code.sf.net/p/sakura-editor/code/sakura -r 4196
BOOL KeySearchCore(...);
publicだが privateにできる。bool MiniMapCursorLineTip(...);
publicだが privateにできる。enum LID_SKH {...}
publicだが privateにできる。BOOL KeyWordHelpSearchDict(...);
publicだが privateにできる。bool ShowKeywordHelp(...);
publicDWORD m_dwTipTimer;
publicCTipWnd m_cTipWnd;
publicPOINT m_poTipCurPos;
publicだが privateにできる。CDicMgr m_cDicMgr;
publicだが privateにできる。class CEditView: public AsWithHelpTooltip<CEditView>
AsSelectable
みたいなのを想定した命名規則なんだけど。「public継承されたのもたまたま」
理想を追求する人は private 継承して public 部に using AsWithHelpTooltip::XXX
を並べるなり、継承ではなくコンポジシAsWithHelpTooltip::OnTimer
と AsWithHelpTooltip::OnMouseMove
をクラス外部から隠す目的で public から protected に変更するのは間違い。public と private と protected が混在することになるという一事をも
m_bInMenuLoop
が TRUE
にならないからなんだけど、なぜミニマCTipWnd::ComputeWindowSize()
と CTipWnd::DrawTipText()
の中で DrawText()
の引数 pszWork
を new
してるけど、DrawTextはサイズを指定する引数も受け取るから _T('\0')
を埋める必要も new
する必要もないよね。DrawTipText()
というひとつの static 関数に反映されてる。CEditViewの問題は(ANSI版よりず
個別機能クラスが結局は CEditViewのすべて(継承元である他の個別機能クラスを含む)に依存できそうなのがち
※publicデ
たまたま目についたひとつのメンバ変数 m_cTipWnd
を分離してやろうと思public
, friend
にしたくなるのもわかる。あえてクラスを分けてアクセスを制限して、その結果に頭を悩ませたい人間がいるだろうか。いやいるし必要なんだけど、結局自分の能力でできる範囲のやり方しかできない。この a.patch だAsWithHelpTooltip.GetLastHitKeywordDictionary()
なんて行き場のない妥協の産物である。正しい設計なんてのは与えられればそれ以外に考えられないくらい当たり前のものに思えるのに、自分でそこにたどり着くのは難しか
最終更新: 2017-11-04T18:59+0900
クラスを書くときの理想として、コンストラクタでメンバ
上で登場した AsWithHelpTooltip というオブジ
初期化である。AsWithHelpTooltip とそのメンバ
代入演算子を定義しようか。しかし代入は邪悪で避けるべきものだ。なにより外部のリソ
ではやはりポインタだろうか。Create 関数が呼ばれるたびに new CTipWnd でメンバ
結局 As~の Create 関数の中でこうや
m_cTipWnd.~CTipWnd(); new(&m_cTipWnd) CTipWnd( G_AppInstance(), asView(this)->GetHwnd() );
代入なし、(CTipWndに)リセ
picojsonというパ
ーサを読んでいます。分からないのは、以下に該当するコ ードです。deleteしていないのに、配置newしたオブジ ェクトがメモリリ ークしないのはなぜなのでし ょうか。 [C++]自壊と配置new、自動的な開放? • C言語交流フ
6 7 8 9 10 11 12 inline value& value::operator= ( const value& x ) { if( this != &x ){ this->~value(); new (this) value(x); // thisの寿命はどうなる? } return *this; }ォ ーラム ~ mixC++ ~
ほぼ同じ2行だ。そして picojson は知
make operator= safe when part of LHS is being assigned, as well as ex… · kazuho/picojson@96f6c81
exception-safe はわかる。破壊と構築がアトミ
でも when part of LHS is being assigned
c++ - Can I use placement new(this) in operator=? - Stack Overflow
ある回答者によれば『Exceptional C++』で言及されているらしい。もう一度読もうか。
その回答に補足して、継承とスライシングに関わる問題が placement new を使
ある型の代入演算子の中で自身のデストラクタを呼ぶとき、それが仮想であるならば呼ばれるデストラクタは派生クラスのものであるかもしれず、placement new で新しいインスタンスで上書きするときに派生部分の初期化が行われない、と。そのようにコ
『[単行本(ソフトカバ
『Exceptional C++』の項目41がそのものずばりでアンチイデ
実際のところ、a.patch のケ