.net FrameworkでC++を弄ったことないなぁとか思って、今開発しているアプリをVS.netでC++を選択してみたのだが、何この糞仕様。
そもそもC++/CLIだと思っていたのが、.netではまだManaged C++しかサポートしてない時点で\(^o^)/
C++/CLIは.net Framework2.0と合わせて比較的検索に引っかかるし、サンプルを見ててそんなに素性が悪い感じもしないのだが、Managed C++と.net Framework1.1は最悪。
参考資料の少なさと、フレームワークのショボさと言語仕様の糞さの3連コンボをくらった。
.net Framework上で動くのはいいんだけど、クラスがgc属性とvalue属性に分かれいる。
片方はポインタを宣言してnewでインスタンスを作るしかなくて、もう片方はunmanagedの扱いとなってnewするとGCの対象にならないとか意味分からん。
配列になるとValue属性のモノはmanagedなArrayになってGCの対象になるのも混乱を助長する。
C++/CLIならmanagedな参照は「^」を用いてunmanagedなポインタと区別がつくのだが、Managed C++はポインタと区別がつかん。
なんというか流石マイクロソフトさんが独自に拡張した仕様の言語ですね。
VJとかJ#とかと同様に使い辛い環境を提供して世の中のSWの品質を落として相対的にマイクロソフトの製品価値を高めているようにしか見えない。
とりあえずもう二度とManaged C++で開発しねぇ。
Tags: Managed C++, VisualStudio.net
Comments are closed here.