• ベストアンサー

C#とC++/CLIの使い分け

.netFramework用のC系言語にC#とC++/CLIがありますが、この2つはどの様に使い分けていますか? それぞれ、得意な分野などあるのでしょうか? よろしくお願いします。

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

  • ベストアンサー
回答No.1

C#のみでほぼ事足ります。 C++/CLIを使う場所はManagedとNativeの橋渡し,というのが2005が出た頃から言われている話ですが, そういう場合でもC#のみか,C#とCまたはC++を組み合わせて作ることが多いと思います。 C++のクラスライブラリの資産があって,それをそのまま利用したい場合以外にC++/CLIを使う場面は思いつきません。

fugafugahogehoge
質問者

お礼

そうなんですね。ありがとうございます

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.3

ネイティブじゃなきゃって制約がないんだったら C# でいいでしょ。

全文を見る
すると、全ての回答が全文表示されます。
  • zwi
  • ベストアンサー率56% (730/1282)
回答No.2

C++の資産と合体して使いたい時と行ってもC#からC++のDLLは呼び出せるのであえてC++/CLIである理由は思いつかない。なにより、C++使いからするとC++/CLIの文法は気持ち悪い。C#の方が素直で好き。

fugafugahogehoge
質問者

お礼

ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • C++/CLIについて

    現在C、C++を1部、WIN32を習得しているのですが、ウィンドウアプリケーションを作るときは全てWIN32APIを使用して作っています データベースを使ってみようと思い、VS2005(Pro)についていたSQLEEを使ってみようと色々と調べたんですが、ほとんどの書籍やサイトがVBかC#を使用していました しかし、VBやC#でプログラムを書き直すのも大変なのでどうしようかと思っていたらC++/CLIなるものの存在を知りました そこでC++/CLIの勉強をしてDBを使おうと思ったのですが、何分習得言語以外の知識が足りないため不安なところを質問させてください 以下質問 1、VB、C#、C++/CLIとC+WIN32の大きな違いは.NETFrameWorkが使えるか使えないかということであっていますか? 2、多くの書籍がVBやC#とDBを組み合わせているのは、.NETに含まれるADO.NETを使用するからですか? 3、C/C++を習得するとMFCを習得するのが一般的なようですが、MFCのメリットがイマイチわからないので教えてください(WIN32で十分代用可能なため) 4、C++/CLIを習得すればMFCは必要ありませんよね? 以上質問の数が多いですがよろしくお願いします

  • C++/CLI .NetFrameWork

    こんにちは、現在自分はVC++のC++/CLI .NetFrameWorkを使ってソフト開発しています。 それについての質問なのですが、textBoxから取得した文字をシフトJISへシフトJISコードを 文字コードに変換してtextBoxに表示することは可能なのでしょうか?

  • C++/CLIとC#の連携について

    いつも拝見させていただいております。 現在、C++/CLIとC#にて連携を行っているのですが、C++/CLIで作成したクラス配列 がC#側でどのようにすれば受け取れるのか方法がわかりません。 C++/CLIで作成しているクラス配列はSystem::Collections::Generic::Listを使用 して配列化しています。 下記がC++/CLIのソースになります。 List<testClass>^% testClass::GetList() { List<testClass>^ lpTestClassList = gcnew List<testClass>(); testClass^ lpTestClass; lpTestClass = gcnew testClass(); lpTestClassList->Add(lpWatchServiceMasterInfoWrapper); return lpTestClassList; } これをC#側で使用しようとすると下記エラーが発生します。  「この言語によってサポートされていません」 C++/CLI⇒C#間の連携ではListクラスを使用することは不可能なのでしょうか? クラスを配列にして引き渡したいだけなので、他の方法等含めて何か参考になることがありましたら ご教授ください。 よろしくお願い致します。 開発環境  C++/CLI ⇒ DLL(ネイティブなコードを参照するためのラッパー用DLL)  C# ⇒ アプリケーション

  • C#とC++/CLIの連携について

    C#とC++/CLIの連携について C++/CLI側にC#で作成した変数を渡したいのですが、やり方がわかりません。 そもそも一つのソリューションにC++/CLIとC#を混在することはできるのでしょうか。 やはりC++/CLI側はDLLにして、C#がそのDLLを利用するのでしょうか。

  • c++/cli variant型

    こんばんは。 c++/cliは初めていろいろ戸惑っているところなんですが、variant型というのは扱えるのでしょうか? COMですとVARIANT構造体とか、_variant_tがあったと思うのですが、c++/cliではどのクラスを使えばよろしいのでしょうか?

  • C++/CLIのDLLをC#で使う

    C++/CLIのDLLをC#で使う ソリューションの中にC++/CLIでクラスを作成し、出力がDLLのプロジェクトと、 C#でGUI画面の処理のプロジェクトがあります。 このときC#側でC++/CLI側で作ったDLLを使用したいのですが、やり方がわかりません。 DLL自体はC#のDebugフォルダに入っており、参照設定で読み込んでいます。 ご教授のほど、よろしくお願いいたします。

  • C#からC++/CLIにサンプルソースを書き換えたい。

    VC++/CLIは、過去のソースをそのまま利用できる(マネージ・アンマネージ混在可能)?ので、C++/CLIで作成したく、 以下のURLにC#のサンプルソースはあるので、 http://www.geocities.jp/hatanero/socket1.html これからVC++/CLIに書き換えたいのですが、ここは全然違うというものがありましたら、教えて下さい。 C#からVC++/CLIに変換できるツールはあるのでしょうか?

  • C++/CLIと.NETって全く違う物ですか? 混乱してます

    現在C++/CLIを学習中(入り口にもたどり着いていませんが)で、Googleからいろんな所に飛んでいるのですが、いろいろ記事を見て混乱してしまいました。 ManagedC++がC++/CLIに進化したみたいですが、ManagedC++がCLR(.NET Framework)で動けるようにマネージ拡張されたC++。 C++/CLIはManagedC++が整理されたもの。 VisualC++ 2005における.NET FrameworkとC++/CLIはどういう関係があるのでしょうか? どうしてもC++/CLIと.NET Frameworkの扉が開けなくて困っています。

  • C++/CLIの有効指定???

    .NET C++ であるサンプルプログラムをコピーして実行しました すると次のエラーが発生しました "#USING"ではC++/CLIが有効になっている必要があります 確かにソース文には #USING ステートメントがあります 色々調べましたが C++/CLI を有効に指定する方法が分かりません どのようにすれば良いかご指導をお願い申し上げます

  • C,C++,C++/CLIの構造体とクラス

    C++の構造体・クラスって、メンバのアクセス指定子のデフォルトが privateかpublicかという違い「だけ」しか全くないのでしょうか? クラスにおける value class / ref class という分類はC++/CLIのもので これについては value class の方は C言語の構造体に近いという事でいいでしょうか? ref classの方は ネイティブのC++のクラスを マネージ用にしたようなもので C++/CLIの構造体は C++のそれと同じで OKですか? そしてそれらの構造体には、値型・参照型といった分類はないのでしょうか?