- ベストアンサー
GUI で CUI の道具を使うのはナンセンス?
プログラミング経験激浅につき、バカな質問、ご容赦ください。 Visual C++ .NET で自分のためのソフトを作っています。 研究で用いる、数値計算を行うためのソフトです。 ファイルに数字列を出力するとき、 ○文字ベースの C++ の方法を使う  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 具体的には ofstream で出力する ○ Visual C++ .NET の方法を使う  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 具体的には WriteLine で出力する など、複数の方法があります。 文字ベース(コンソール)での C++ に慣れた自分としては ofstream が使いやすくてよいのですが、これは不自然な ことでしょうか。 Visual C++ .NET で GUI をやるなら、文字ベース(コンソール)の 方法を使うのは、さけたほうがよいのでしょうか。 この点についてメリット、デメリットを教えてくだ さると助かります。
- みんなの回答 (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 が単体で動かないというのとは、ちょっと、状況は異なります。
その他の回答 (3)
- keibou21
- ベストアンサー率31% (18/58)
一つ細くをしておきます。 ofstreamはC++標準ライブラリであってCUIとは何の関係もありません。 .NETはよく知りませんがWriteLineもおそらくファイル操作ライブラリだと思います(.NET Frameworkの) なので基本的にはどちらを使用しても構いません。 しかし一つだけデメリットを挙げるなら.NETで開発した場合は 開発した.NET Frameworkのバージョンをツールを使うPCに全てインストールする必要が出てくる点です。 メリットは・・・・ない?(w
お礼
> 開発した.NET Frameworkのバージョンをツールを使うPCに全てインストールする必要 これは知りませんでしたので、驚きました。 Visual Basic はソフト単体で動かないのが嫌でした。 (だから C++ を使っているのですが・・・) C++ でも .NET Framework でこしらえたら、そんな必要が生じるんですか!
補足
あと、同じ C++ でも MFC と .NET Framework で作るのとで、 実行速度が劇的に変わってくるのでしょうか。 .NET Framework で作ったソフトはモタモタしているように思えてなりません。
- jppy
- ベストアンサー率14% (14/99)
自分で閉じている研究ならば、UIは何でもいいし、ソースもどのように書いても良いと思います。使いやすく、作りやすい物が一番 複数人がかかわる研究、または引き継ぐ可能性がある研究の場合、ソースの再利用性(メンテナンス性)、やUIの視認性も多少考慮するのが思いやりかと思います。(GUI/CUIというより分かりやすさ) 今回は前者ですかね?好きにやった方が良いかと。
お礼
はい、一人で使うアプリケーションです。 好き勝手に作ろうと思います :-)
- linus1974
- ベストアンサー率19% (71/370)
CUIでも苦にならないなら、別にかまわない と思います。作る際にGUI回りのクラスの 使い方を覚えるのは時間がもったいないですから。
お礼
ありがとうございます。 そういう意見をうかがえて、安心しました。
お礼
大変興味深い情報をいただくことができ、ここで質問してみてよかったです。