• ベストアンサー

GUI で CUI の道具を使うのはナンセンス?

プログラミング経験激浅につき、バカな質問、ご容赦ください。 Visual C++ .NET で自分のためのソフトを作っています。 研究で用いる、数値計算を行うためのソフトです。 ファイルに数字列を出力するとき、  ○文字ベースの C++ の方法を使う    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄     具体的には ofstream で出力する  ○ Visual C++ .NET の方法を使う    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄     具体的には WriteLine で出力する など、複数の方法があります。 文字ベース(コンソール)での C++ に慣れた自分としては ofstream が使いやすくてよいのですが、これは不自然な ことでしょうか。 Visual C++ .NET で GUI をやるなら、文字ベース(コンソール)の 方法を使うのは、さけたほうがよいのでしょうか。 この点についてメリット、デメリットを教えてくだ さると助かります。

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

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

ofstream は、C++の(OS に依存しない)標準ライブラリ(というか、ofstream 自体はクラスですが)です。 一方、この場合、WriteLine は、.Net Framework の、言語に依存しないライブラリのようです。 ですから、将来いろいろなOSで使えるように、または、他の OS の資源が使えるように(Linux で作られたユーティリティなど)という場合は、C++の標準ライブラリである、ofstream が良いでしょう。 一方で、Windwos の機能にべったり(そして、Windows 用の、他の言語で作られたツールを使う)という見込みがあれば、.Net Framework に基づいた方がいいでしょう。 あと、.Net Freameork は、現時点では、追加でインストールする必要がありますが、次あたりの Windows からは、とりあえず、標準機能になる(というか、Microsfot としては、Win23API をやめて、.NET Freamwork にしたい)ので、Visual Basic が単体で動かないというのとは、ちょっと、状況は異なります。

k1220011_2005
質問者

お礼

大変興味深い情報をいただくことができ、ここで質問してみてよかったです。

その他の回答 (3)

  • keibou21
  • ベストアンサー率31% (18/58)
回答No.3

一つ細くをしておきます。 ofstreamはC++標準ライブラリであってCUIとは何の関係もありません。 .NETはよく知りませんがWriteLineもおそらくファイル操作ライブラリだと思います(.NET Frameworkの) なので基本的にはどちらを使用しても構いません。 しかし一つだけデメリットを挙げるなら.NETで開発した場合は 開発した.NET Frameworkのバージョンをツールを使うPCに全てインストールする必要が出てくる点です。 メリットは・・・・ない?(w

k1220011_2005
質問者

お礼

  > 開発した.NET Frameworkのバージョンをツールを使うPCに全てインストールする必要 これは知りませんでしたので、驚きました。 Visual Basic はソフト単体で動かないのが嫌でした。 (だから C++ を使っているのですが・・・) C++ でも .NET Framework でこしらえたら、そんな必要が生じるんですか!

k1220011_2005
質問者

補足

あと、同じ C++ でも MFC と .NET Framework で作るのとで、 実行速度が劇的に変わってくるのでしょうか。 .NET Framework で作ったソフトはモタモタしているように思えてなりません。

  • jppy
  • ベストアンサー率14% (14/99)
回答No.2

自分で閉じている研究ならば、UIは何でもいいし、ソースもどのように書いても良いと思います。使いやすく、作りやすい物が一番 複数人がかかわる研究、または引き継ぐ可能性がある研究の場合、ソースの再利用性(メンテナンス性)、やUIの視認性も多少考慮するのが思いやりかと思います。(GUI/CUIというより分かりやすさ) 今回は前者ですかね?好きにやった方が良いかと。

k1220011_2005
質問者

お礼

はい、一人で使うアプリケーションです。 好き勝手に作ろうと思います :-)

  • linus1974
  • ベストアンサー率19% (71/370)
回答No.1

CUIでも苦にならないなら、別にかまわない と思います。作る際にGUI回りのクラスの 使い方を覚えるのは時間がもったいないですから。

k1220011_2005
質問者

お礼

ありがとうございます。 そういう意見をうかがえて、安心しました。

関連するQ&A