こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Visual Studio関連でAPIを使った学習方法は効率的でしょうか。

C++の勉強をしようと思い、Visual C++ 2005 Express Edition を使って勉強しています。
本屋さんに行くと古めの本には、windowsプログラムはAPI関数も使って勉強した方がバグなどの対応にも融通が効くと書かれていますが、2008年の現時点でvisual studio関連の製品も発展していると思いますが、API関数を使ったプログラムの勉強方法は効率的でしょうか。
API関数を使ったプログラミングの本(Visual C++(1) 山本信雄著)を購入しをプログラミングを始めたばかりですが、windowsの仕組みも少しは理解出来たと思います。
またMFCなどを使ったプログラミングを行った方が良いのでしょうか。
宜しくお願いします。

投稿日時 - 2008-03-15 02:03:37

QNo.3863908

困ってます

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

「C++」という言語の勉強が目的であれば、APIを使うのは
必ずしも効率的ではありません。

「C++」という言語自体を覚えるのも、最初は結構難しいものですし、
Windowsプログラムの作り方とはまた別のものです。
つまり、覚えることは二つ「C++言語」と「Windowsプログラミングの知識」ありますから、
いきなり知らない言語で、Windowsアプリの知識を覚えるよりも、
「言語の勉強」がしたいなら、コンソールでシンプルなものを書く方がいいかもしれません。

ただ、「C++によるWindowsプログラミング」が勉強したいなら、
APIレベルの勉強は将来的に有効だと思います。

Windowsプログラミングの勉強をしたいなら、APIの知識があって
損になることはまだないのでは。
C++でWindowsアプリを書く場合、MFCを使うこともありますが、
APIを知っていればMFCを覚えるのはそう難しくありません。

ちなみに、「C++/CLI」というは「C++」と似てるだけで別言語です。
言語仕様が異なりますので「C++の勉強」としては非効率です。
つまり、現状で.NET frameworkを使うという選択肢は
「C++の勉強」としては考えにくいです。
# もし.NET frameworkを考えているなら、
# C++よりもC#などの別言語を使う方がよいかもしれません。

投稿日時 - 2008-03-16 02:44:21

お礼

回答して頂きありがとうございます。

私の中で「C++も習得したい」、「Windowsプログラムも書いてみたい」という二つの目的があります。

お答えで仰っている通り、二つの事柄が混ざっていると習得が難しいということなので調べてみました。

"独習C++"などの内容は純粋にC++だけの内容になっているようなので、この本でC++を学んでから「C++によるWindowsプログラミング」にチャレンジしてみるという方法もあるかもしれません。

またWindowsプログラミングを習得するにあたり、APIの知識は無駄にはならないということなので、そちらの学習も続けたいと思います。

.NET frameworkについても調べてみました。今のところ.NET frameworkを使う予定はないですが、C#も興味があるので調べてみたいと思います。

回答ありがとうございました。

投稿日時 - 2008-03-16 12:58:21

ANo.2

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

Express Edition でMFCは使えなかったような。。。

マイクロソフトは、今後はMFCをサポートしない、みたいなことを、ものすごい鼻息でMSDNに書いていますが、あまり信用されていませんね。
加えて、C++CLIのことも、露骨に言ってしまうと、諸先生方は、「ボクには関係ない」みたいなスタンスに見えます。
C++CLIは、なにをやるにしても不自由ですから、仕方ないと思います。

あと、Visual C++(1) 山本信雄著 は、MFCが入っていませんでしたっけ。
よく覚えていませんが。

いずれにせよ、APIをしっかり覚えれば、簡単な慣れでMFCにも対応できます。
逆にMFCに慣れれば、APIにも対応できると思います。
個人的には、きちんとお金を出して.NET2008を買って、MFCを覚えたほうがいいと思いますが、少数意見かもしれません。

投稿日時 - 2008-03-15 20:47:12

お礼

回答して頂きありがとうございます。
お答えの通りMFCはExpress Editionに含まれていないようです。

またVisual C++(1)はMFCを使わず、APIやメッセージなどWindowsの基礎をマスターする事が目的だと本に書かれています。
Visual C++(3)がMFCを使った内容となっているようです。

APIを使った学習方法も無駄ではないということですね。
Visual C++(1)を2/3程読み終えましたが、ウィンドウに描画するためにメッセージのやり取りなどWindows内部の仕組みも解り勉強になるなと思っていました。

APIを学んでおけばMFCを使う際に、役に立つということなので、今後の学習の進捗によって.NET2008の購入も検討してみたいと思います。
回答ありがとうございました。

投稿日時 - 2008-03-16 12:33:41

あなたにオススメの質問