この質問をご覧頂きありがとうございます。

みなさんに2つ、お聞きしたいことがあり、質問させていただきます。
1.C++とVC++とでは、どのくらいの違い(どういう違い、特徴)があるのでしょうか?

2.また、これからC++/VC++でプログラミングを始めようとした場合、
C++からVC++へと段階を踏んで勉強した方がよいのでしょうか?

一応、私のプログラミングの履歴としては、
言語としてVisual Basicは多少勉強はしておりました。
また、オブジェクト指向の基礎程度(多相、継承、カプセル化)は理解しています。

抽象的な質問で大変恐縮なのですが、
みなさんの経験論や、ご参考にした本、HP等がありましたら、
ご教授いただければと思います。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

こんにちは、honiyonです。


 VC++ は、Microsoftの発売している C++開発環境です。 純正C++に加え、独自に機能(という言い方でいいのかな?)を追加しており、更に開発しやすいソフト(環境)を添付してあります。

 VC++に限らず、大体はそうです。 ProC++も、Borland C++も皆そうです。
 今までお使いになっていた VBも、BASICコンパイラ+開発環境です。 
 こちらの場合、BASICに機能を追加・・・というより仕様そのものを大幅いじってますね(笑)

 VC++をただ単純に C++として使用するなら良いですが、VC++とMFCを使用してウインドウアプリケーションを作りたいという事であれば、死に物狂いな勉強が必要が必要かもしれません。Windowアプリケーションの処理プロセスを理解していないと、とっても難解に感じると思います。
 VC++でなければいや!という理由がなく、Visual Basicからスムーズに移行でき、かつVisual Basicより奥の深い事をしたい、というならば C++ Builder をお勧めします。 こちらで腕を慣らし、徐々にWindowアプリケーションの処理プロセス(WinMainから始まるプログラムの組み方の事です)を学ぶと良いかな、と思います。 その上で VC++&MFCな環境に移行すると、敷居はぐっと低くなります。
 私は一度VC++&MFCに挫折しましたが、こちらの方法で何とか理解する事が出来ました(^^;

 参考になれば幸いです(..
 
    • good
    • 1
この回答へのお礼

C++からVC++へ、ですね。
貴重なご意見、どうもありがとうございます。

お礼日時:2001/06/27 09:01

1.VC++はC++という言語をビジュアル的に操作するための開発環境です。


 たとえば、C++だけだと、ウィンドウを作るだけでものすごい時間と
 労力を要しますが、VC++はそれらの基本的骨格は作ってくれます。
 まあ、MFCっていうものですがね。
 操作的にはVBにも似ていますが、それよりもさらに、
 細かいところを記述します。

2.C++の全てを知る必要はありませんが、
 基本的なことを学んでおく必要はあると思います。
 できれば、C→C++→VC++ が理想的です。
 Cは完全マスターしないと、つらいかもしれません。

 そこまで行ってしまえば、VC++の独特のクセを
 覚えるだけですので、難しくはありません。
    • good
    • 2
この回答へのお礼

なるほど、Cから段階を踏むことも必要、と。
貴重なご意見、どうもありがとうございます。

お礼日時:2001/06/27 09:03

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q3週間でC,C++,VC++の勉強を済ませるのですが・・・

こんにちは。
私は、未経験でプログラマの職に就いた者です。
会社より、まずは勉強をしてほしいとのことで、

第1週 : 独習C(第3版 翔泳社)で、C言語の勉強
第2週 : 独習C++(第3版 翔泳社)で、C++の勉強
第3週 : MSDNライブラリのVisualC++チュートリアルで、VC++の勉強

というスケジュールで、勉強しています。
今は第3週の2日目ですが、なかなかはかどりません。

上司は、「これから先に実践で必要なことを覚えてもらうけれど、その基本を身に着けてもらいたい」と言っていましたし、
時間の関係もあるので、それぞれの項目の内容をほぼ理解できるまで読み、
例題などは極力とばして進めてきました。
そして今週VC++の勉強に入ったのですが、MFCなど新たなものが沢山でてくるし、
今までの本と違いMSDNライブラリは初心者の私にはあまり親切ではなく、プログラムの全体を把握することができずに頭がこんがらがってきています。

上司は別の場所で働いているのでなかなか意思の疎通がとれず、
勉強の指針など話す機会に恵まていない状況です。

そこで経験者の方に質問なのですが、
MSDNライブラリ以外に副読本として役に立つ本や役立つサイトなどオススメはありませんでしょうか?
また、この3週間のスケジュールで求められていることは、おおまかな全体の把握以外に、具体的にどのようなことと思われるでしょうか。
(例えば、このスケジュールで勉強するならVC++の~の事は重点的に覚えておいてほしい、など)

曖昧な質問で申し訳ありません。
この質問内容では不十分であれば指摘していただければ補足しますので、
どうぞよろしくお願いします。

こんにちは。
私は、未経験でプログラマの職に就いた者です。
会社より、まずは勉強をしてほしいとのことで、

第1週 : 独習C(第3版 翔泳社)で、C言語の勉強
第2週 : 独習C++(第3版 翔泳社)で、C++の勉強
第3週 : MSDNライブラリのVisualC++チュートリアルで、VC++の勉強

というスケジュールで、勉強しています。
今は第3週の2日目ですが、なかなかはかどりません。

上司は、「これから先に実践で必要なことを覚えてもらうけれど、その基本を身に着けてもらいたい」と言っていました...続きを読む

Aベストアンサー

ゼロから学ぶVisual C++
http://www.amazon.co.jp/exec/obidos/ASIN/4822216934/250-7140492-7151432
Visual C++〈3〉はじめてのMFCプログラミング
http://www.amazon.co.jp/exec/obidos/ASIN/4881358235/250-7140492-7151432

とりあえず初心者向けMFC本を2冊。
後、最終的にはWin32 APIというものに対する知識も必要なので、
Win32API完璧マスター
http://www.amazon.co.jp/exec/obidos/ASIN/4789836908/ref=pd_sim_dp_5/250-7140492-7151432
も挙げておこう。

むしろMSDNのチュートリアルを後回しにして良いと思う。あれは、ある程度わかるようになってからでしょ。

> この3週間のスケジュールで求められていることは、
> おおまかな全体の把握以外に、具体的にどのようなことと思われるでしょうか。
 さて・・・・君の会社が何を作っているのか知らないので一概には言えないのだが、やはりアプリの作り方、だな。何を置いても一通り作れるようになってからだ。ただ、その前に人のソースを読めるようになっておく方が上達が早いかも知れない。
 ところで今思ったんやけど、君の会社はMFCで作っているのかな?
> 第3週 : MSDNライブラリのVisualC++チュートリアルで、VC++の勉強
とあるが、もしこれで君の会社がWin32APIだけで作りよるとしたら、MFCの知識はかえって邪魔かも知れない。

 私はC言語(とWindowsでのC)を本当にマスターしたと言えるまで、2年かかった。NECのN88BASICという言語の経験が1年あった上での話だ。んな急に全部作れるようになれとは決して言わないはず。
 書けるよりは、まず人のプログラムを読めるようになると良いだろう。

ゼロから学ぶVisual C++
http://www.amazon.co.jp/exec/obidos/ASIN/4822216934/250-7140492-7151432
Visual C++〈3〉はじめてのMFCプログラミング
http://www.amazon.co.jp/exec/obidos/ASIN/4881358235/250-7140492-7151432

とりあえず初心者向けMFC本を2冊。
後、最終的にはWin32 APIというものに対する知識も必要なので、
Win32API完璧マスター
http://www.amazon.co.jp/exec/obidos/ASIN/4789836908/ref=pd_sim_dp_5/250-7140492-7151432
も挙げておこう。

むしろMSDNのチュートリアルを後回し...続きを読む

Q【VC++】MFC、C++/CLI(CLR)、C#の違い、及び、これからの展望

いつも大変お世話になっています。
VC++初心者です。

VC++6.0(MFC)、VC++2005(CLR)(C++/CLI)(Express Edition)を
同時期に使い始めて何ヶ月か経ちました。
現在では、CLIの方が圧倒的に開発スピードが早く(扱いやすい)、
逆に、MFCの開発スピードが遅く(扱いにくい)、イライラしっぱなしです。
(CLIの開発では、WEBにあるC#のコードを参考にしながら、
 コーディングしています。)

そこで、何点か疑問に思ったので、ご回答頂けませんでしょうか。
(1)CLIとC#を区別した理由は何なのでしょうか。
(2)MFCはこれからも使われるのでしょうか。
 (MFCで新規開発をすることは、まだまだ大勢なのでしょうか。)
(3)VC++2005以降、MFCは有償らしいのですが、
 VC++6.0(MFC)とVC++2005(MFC)は何か変わったのでしょうか。
 (コーディングしやすくなっていますか?)
(4)個人差はあると思いますが、開発スピードが一番早いのは、
 CLR、C#、MFCのどれでしょうか。
 
すぐに返信ができないと思いますが、
宜しければ、ご回答頂けると幸いです。

いつも大変お世話になっています。
VC++初心者です。

VC++6.0(MFC)、VC++2005(CLR)(C++/CLI)(Express Edition)を
同時期に使い始めて何ヶ月か経ちました。
現在では、CLIの方が圧倒的に開発スピードが早く(扱いやすい)、
逆に、MFCの開発スピードが遅く(扱いにくい)、イライラしっぱなしです。
(CLIの開発では、WEBにあるC#のコードを参考にしながら、
 コーディングしています。)

そこで、何点か疑問に思ったので、ご回答頂けませんでしょうか。
(1)CLIとC#を区別した理由は何なのでしょうか...続きを読む

Aベストアンサー

私も私見ですが。

> (1)CLIとC#を区別した理由は何なのでしょうか。
CLIはC++的だが、C#はJava系の文法。近いけど遠い。
要するに慣れ親しんだC++を使いたい人向け。

> (2)MFCはこれからも使われるのでしょうか。
市販ソフトメーカーなど企業で資産のあるところは使っていくでしょうね。シェア・フリーソフトの作家でもそうですが。
C#とCLIは、インストール時に.net frameworkのインストールがあるから嫌われている所があるんじゃないでしょうか。.net系のソフトですよってばれますし。逆コンパイルがネイティブより容易ってのがライセンス認証しているメーカーとかシェアウェア作者さんには気になるポイントでしょう。一応難読化ツールもありますが。

> (4)個人差はあると思いますが、開発スピードが一番早いのは、
> C++/CLI、C#、C++とMFCのどれでしょうか。
C#かなぁ。
まぁ、面倒なソフトになったらどれでもさほど変わり無い気がしますね。ただ、.NET系はガベージコレクションがうれしいですが。

私も私見ですが。

> (1)CLIとC#を区別した理由は何なのでしょうか。
CLIはC++的だが、C#はJava系の文法。近いけど遠い。
要するに慣れ親しんだC++を使いたい人向け。

> (2)MFCはこれからも使われるのでしょうか。
市販ソフトメーカーなど企業で資産のあるところは使っていくでしょうね。シェア・フリーソフトの作家でもそうですが。
C#とCLIは、インストール時に.net frameworkのインストールがあるから嫌われている所があるんじゃないでしょうか。.net系のソフトですよってばれますし。逆コンパイルが...続きを読む

QC言語やC++、VC++について

C言語やC++、VC++について
C言語やC++、VC++などはIL コードと呼ばれる中間言語が作成されるのでしょうか?それともコンパイラーがネイティブコードに変換されるのでしょうか?でもネイティブコードに変換すると機械語なので互換性がないのではないのでしょうか?それなのになぜ他のwindowsのパソコンで実行できるのはなぜなのでしょうか?そこら辺はどうなっているのでしょうか?

Aベストアンサー

ILコードをネィティブに変換するのが
.NET(ドットネット)フレームワークの仕事です。
これは、.NETをインストールすると自動的に入ります。
(というか、これがないと.NETは意味をなさない!)

厳密にはOSと.NET フレームワークは別の存在です。
しかし、最近のWinではOSインストール済みのPCでは
有無を言わさず,.NETが入ってます。

(.NETのないWin7インストール済みPCなんてありえないです)

そういう意味で、
アプリ作成者側からは
「OSがネィティブに変換してくれる」
ととらえても
大きな問題とはならないと思います。

Qcmakeの役割について(C・C++VC++初心者です)

自社が開発した画像圧縮技術のデモ用のビュアーをVC++で組む事に成りました
(4日前まで基本情報処理の問題が読める程度の知識しかありませんでした)

環境はVC++.NET2003で行っており、米国のフリーウェアVTK( Visualization ToolKit )
のヘッダファイルを利用してます

とりあえず、ビュアー無しの元ソースのみでビルドが通るかどうか試した処、
「#cmakedefine」というプロセッサ命令が理解出来ずにエラーとなりました
(一応、DOS起動で画像圧縮プログラムのexeが動いた事は確認しております)

これはコンパイラ自体に「#cmakedefine」を認識させる方法が存在し、
私がパッチを当てていないという事になるのかと思い「VTK」関連のサイトで
イロイロ調べたのですが、英語で良く理解出来ませんでした

cmakeというツールが関係するのかも知れないという程度しか理解できませんでした
(実際にダウンロードして見ましたが目的と利用方法が理解出来ませんでした)

どなたかご存知の方、アドバイスを下さい。

自社が開発した画像圧縮技術のデモ用のビュアーをVC++で組む事に成りました
(4日前まで基本情報処理の問題が読める程度の知識しかありませんでした)

環境はVC++.NET2003で行っており、米国のフリーウェアVTK( Visualization ToolKit )
のヘッダファイルを利用してます

とりあえず、ビュアー無しの元ソースのみでビルドが通るかどうか試した処、
「#cmakedefine」というプロセッサ命令が理解出来ずにエラーとなりました
(一応、DOS起動で画像圧縮プログラムのexeが動いた事は確認して...続きを読む

Aベストアンサー

#cmakedefine が書かれていたのはソースコードですか?
察するにそれはソースコードではなく、makefileではないかと。
だとすれば、cmakeのドキュメントを手掛かりに#cmakedefineの意味を対処法を探ることになろうかと。

QC/C++インタプリタ CINTをVC++2005でビルドする方法

cint-5.16.19をVC++ 2005でビルドしたいのですが、うまくいきません。

以下の手順で試しました。
1)cint-5.16.19-source.tar.gzをDL&解凍
2)cygwin(bash)を立ち上げてcint-5.16.19のMakefileのあるフォルダに移動
3)./configure msvc8を実行
4)make staticを実行

そうすると、
make[1]: *** [Api.obj] Error 53
が発生します。

VCのcl.exeのあるフォルダにパスは通っています。

Error 53の原因はmspdb80.dllが見つからないからの様でした。
(この時点で何か怪しいですが・・・)

そこで、cl.exeのあるフォルダに
C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\mspdb80.dll
から持ってきたmspdb80.dllをコピーしました。

その後、make staticを実行したところ、コンパイルは行われるようになりましたが、

c:\cint-5.16.19\inc\G__ci.h(473) : fatal error C1083: include ファイルを開けません。'math.h': No such file or directory
make[1]: *** [Api.obj] Error 2

というエラーが出て止まってしまいます。

どこが間違っているでしょうか?
ご存知の方、ご教授お願いいたします。

CINT:
http://root.cern.ch/twiki/bin/view/ROOT/CINT

cint-5.16.19をVC++ 2005でビルドしたいのですが、うまくいきません。

以下の手順で試しました。
1)cint-5.16.19-source.tar.gzをDL&解凍
2)cygwin(bash)を立ち上げてcint-5.16.19のMakefileのあるフォルダに移動
3)./configure msvc8を実行
4)make staticを実行

そうすると、
make[1]: *** [Api.obj] Error 53
が発生します。

VCのcl.exeのあるフォルダにパスは通っています。

Error 53の原因はmspdb80.dllが見つからないからの様でした。
(この時点で何か怪しいですが・・・)

そこで、cl...続きを読む

Aベストアンサー

スタートメニューの「Visual Studio 2005 コマンド プロンプト」から起動したコマンドプロンプトからmakeしてください
LIBやINCLUDEなどの環境変数が正しく設定されます

わけもわからずmspdb80.dllをコピーするとかはやめた方が良いです


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報