1

かなりの数のクラス名の前に「M」が付いている古いC++/ MFCコードベースを維持しています(例MAdrSetなどMDialogBase)。これまでのところ、このプレフィックスが何を意味するのか理解できませんでした。プレフィックスが表示される場所と表示されない場所に認識できるパターンはありません。

私は、クラス名の前に「クラス」を意味する「C」(たとえばCWnd、 )を付けるMFC命名規則について考えてきました。CDialog「M」クラス名プレフィックスについて、おそらくWindows / MFCの世界で、同様の命名規則を知っている人はいますか?

4

1 に答える 1

0

クラス名の「M」プレフィックスは、過去のある時期に施行されていたプライベートな命名規則であるという結論に達しましたが、その間、私のコピー貼り付けの一部によって悲惨で混乱した死に追いやられました前任者。

私が現在持っている最も良い推測は、「M」プレフィックスは元々「実装」を意味していたのに対し、「インターフェース」を表す一般的な「I」であるということです。私が質問を書いたので、私はもっと多くの「M」クラスに出くわしました、そしてそれらの少なくともいくつかは同じ名前のインターフェースを実装します(例えば、MWriterimplements IWriter)。

于 2013-01-10T17:11:09.070 に答える