• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C#とVC++.NETについて教えて下さい。)

C#とVC++.NETについて教えて下さい。

このQ&Aのポイント
  • WIN32アプリにはC#とVC++.NETどちらが適していますか? VC++.NETはMFC寄りの言語なのでしょうか? C#はC言語でクラスも使えるのでVC++.NETとどう違うのか良くわかりません。自分的にはC言語でなんでもやって行って、C++はクラスが分かる程度で良しとしようと思っています。
  • インラインアセンブルとかもやりたいのですが、VC++.NETではできますか?C#では?
  • WIN32アプリにはC#とVC++.NETどちらが適していますか? VC++.NETはMFC寄りの言語で、C++言語にオブジェクト指向の機能を追加したものです。一方、C#はC++言語をベースに.NETフレームワークを利用することで、より簡潔で安全なコード作成を実現します。

質問者が選んだベストアンサー

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.1

「VC++.NET」と書かれていますが 「Visual C++.NET 2003」及び「Visual C++.NET 2002」の事でしょうか? 2005からは「Visual C++ 2005」という表記になり表記から「.NET」ははずれました。 それと.NET Frameworkという言葉をご存知でしょうか? C#は.NET Frameworkを使ったアプリケーションを作る為の言語です。 (1) Win32APIを使ってプログラムをするなら普通VC++を使います。 C#はWin32APIの代わりに.NET Frameworkを使います。 (2) 従来通りMFCが使えます。(MFCのバージョンも上がっています。) それとは別にC++から.NET Frameworkを使える C++/CLIといものも選択できます。(2003ではマネージドC++と呼ばれていました) (.NET Frameworkを使ったソフトを動かすには.NET Frameworkのランタイムが必要になります。) (3) VC++はインラインアセンブラを使うことが可能です。 C#はそんなに詳しくないですが多分無理です。 その代わりunsafeコード(インラインCみたいなもの)が使えます。 >C#は見た目がC言語でクラスも使えるのでVC++.NETとどう違う >のか良くわかりません。 C#とC/C++はまったく違う言語です。例えばC#は基本的にポインタはありません。クラスの多重継承もできません。 単純なステートメント(文構造)が同じなだけです。 それならC++とJavaもステートメントは似ているといえます。

tell_me_plz
質問者

お礼

丁寧なお答えありがとうございます。 いつの間にかVC++から.NETの文字がが消えてたんですね。 クラスの概念が分からず、クラスの概念の無い言語ばかりを動かして 楽しんでたので、その辺の流れから遠ざかってました。 「.NET Framework」は名前を知ってる程度で、ほとんどのの言語で いざとなればAPIを使う私には、全体像が見えてませんでした。 (1)~(3)+αのお答え大変良く分かりました。 私、コードをガリガリ書いていくタイプで、ようやくVC++も 分かりかけて来たので、VC++を研究する決心が付きました。 余談、C#、ポインタあんまり関係ないのか~いいな~。 愚問にお答え頂いてありがとうございました。

関連するQ&A