徒然ぶろぐ - Peaceful Wind

アクセスカウンタ

zoom RSS VC++ 2005 を試してみる 1

<<   作成日時 : 2006/02/05 16:25   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

前にVSのExpress版についての記事を書いてましたが、実はインストールしたのはつい最近です。

C++とC#だけ入れました。
J#やBASICは使わないので。

で、ついでなので、初 .NET Frame work です。
フォームベースの設計なんかはBorland C++ Builderにそっくりですね。
というか、ほとんどVCLと同じなので、すんなりとなじめました。

以下に、いろいろと気になったことを徒然と。

ref


ManagedC++の時はなんか、なじめなかったのですが、
正式な方言(C++/CLI)となったことでキーワードが追加され、無理のない記述が出来るのが良いですね。

__gc class CHoge
よりも
ref class CHoge
の方が自然だと思います。

ちょっとした違いかもしれませんが、見た目のわかりやすさというのはとても重要だと思います。

property


それにしても、本当にVCLに似ている気がします。
プロパティの宣言については、VCL、MC++、CLIでは以下のように宣言されますが、

VCL
int getX() { return x_; }
void setX(int x) { x_ = x; }
__property int X = { read=getX, write=setX };


ManagedC++

__property int get_x(){ return x_; }
__property void set_x( int x ){ x_ = x; }


C++/CLI
property int X {
int get() { return _x; }
void set( int x ) { _x = newx; }
}


似てますね。
CLIは拡張構文が標準となったので、よりわかりやすい記述が可能になっていますが。

finally



finallyは、VCLにはあって、(ついでに言うとJavaにもあって)便利だと感じていましたが、CLIにも導入されましたね。
しかもVCLでは__finallyという独自拡張であったのが、CLIではfinallyキーワード。
さらに、VCLではtry-finallyとtry-catchは別にしなきゃいけなかったのが、
CLIではtry-catch-finallyで書けます。

VCL
try {
try {
throw(std::logic_error("throw!"));
}catch(std::exception& e) {
std::cout << e.what() << std::endl;
}
}__finally {
std::cout << "finally" << std::endl;
}


C++/CLI
try {
throw(std::logic_error("throw!"));
} catch(std::exception& e) {
std::cout << e.what() << std::endl;
} finally {
std::cout << "finally" << std::endl;
}


うーん、やっぱりCLIの方が自然。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
VC++ 2005 を試してみる 1 徒然ぶろぐ - Peaceful Wind/BIGLOBEウェブリブログ
文字サイズ:       閉じる