私は今、visual C++について勉強しています。visual C++についての課題があるのですが、その内容がうまく書けません。その内容はvisual C++とはどういうものか?visual C++はどういう役割りがあるか?c++との違いはvisual C++の特徴はなにか?などがあります。私は「visual C++3週間完全マスター」というもをやっています。しかし、初めてvisual C++をする私はなんとか本の通りしているだけで、どういうものか?ときかれてもうまく表現できずとても困っています。この質問にうまく答えられる方、分かり易く教えて下さい。お願いいたします。

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

A 回答 (3件)

Visual C++というと、以下のことを言います。


http://msdn.microsoft.com/ja-jp/Library/60k1461a …

が、Visual Studio(IDE)とVisual C++(コンパイラツール)は一蓮托生でもあるので、書籍やサイトでは当該IDEとコンパイラツールをワンセットでVisual C++と表現していることもあります。
Visual C++は冒頭で紹介したMSDN内で示されているライブラリを使用したWindowsアプリケーション開発をメインとします。13年経過していますが根本は変わっていません。
    • good
    • 0

Visual C++ は、Windows用のアプリケーションを作成するための「クラスライブラリ」であるMFCを付属しているC++コンパイラです。

クラスライブラリというのは、要するに、便利な命令をあらかじめ作っておいたもの、というくらいのものだと考えれば分かりよいでしょうか(ただし、課題に答える場合は、もっとキチンとした内容で説明するようにしたほうがいいでしょう)。
このMFCと各種ウィザードを利用すれば、Windowsアプリケーションが比較的容易に作成できます。
その他、本体のコンパイラ以外にも、開発する上で便利なツール類がたくさん付属しますし、(分かりやすさは別として)非常に充実したヘルプも用意されています。
もちろん、標準のC++(ANSIという規格団体の定めたC++)に準拠しているので、スタンダードなC++の学習用としても利用できます。

ちなみに、MFCを利用しない場合は、Win32APIと呼ばれる命令群を利用することになります。これを使ってそこそこの規模のアプリを開発するのは、なかなか手間がかかりますし、いろいろとWindows独特の細かい知識も必要になるでしょう(どういう知識が必要になるかは、Win32APIをキーワードにして調べてみるとよいでしょう)。

Visual C++と並んで、Windows用のアプリ開発用のコンパイラとしては、Borland社のC++BuilderやBorland C++が有名です。こちらは、MFCではなく、VCLと呼ばれるクラスライブラリを持っています。
一部には、MFCよりVCLの方が、クラスライブラリとしてよくまとまっている、という話もありますが、Visual C++の方が普及しています。マイクロソフトに侵入したハッキングソフトも、Visual C++で開発されたものだという話もあるくらいで、多くのハッカーたちも利用しているようです。
    • good
    • 0
この回答へのお礼

とても貴重なご意見ありがとうございました。とても詳しく書かれていると思いますが、いまいちはっきりと理解ができませんでした。せっかくの御行為を無駄にしましてもう分けございません。もう少しわかりやすくもう一度お願いしたいのですが、誠に勝手なことなのでどちらでもかまいませんのでお願いします。

お礼日時:2001/02/23 15:46

VisualC++はC++というプログラミング言語を


「ビジュアル的」に操作するための開発環境です。
たとえば、ダイアログボックスを作るのにしても、
C++という文字だけのものを見ても、どのようなものが出来上がっているか、
それは実際にコンパイルしてみないとわかりませんが、
VCを使えば、それを確認しながら作ることが出来ます。

それ以外に、VCはWindows向けのソフトを簡単に作ることが出来ます。
たとえば、単純にC++でテキストエディタを作ろうとしても、
Windowsのシステムとの兼ね合いとか、ウィンドウの作り方とか、
そういう細かいところから始めなければならず、
目的の達成には、相当の時間がかかりますが、
VCは最初の基礎的なことはかわりにやってくれますので、
使う側はむしろそれを加工する、という形を取るだけでいいのです。

VisualC++っていうのはC++の開発環境 ということですね。
そのほかにも、C++Builderなどの開発環境もあります。

Javaという言語であれば、VisualJなんていう環境もあります。
どれも、その言語での開発を助けてくれるツールです。
    • good
    • 0
この回答へのお礼

良い意見ありがとうございました。この意見を参考に頑張りたいと思います。またなにかこういった情報をお持ちであれば教えていただけませんか?良い返事お待ちしております。ありがとうございました。

お礼日時:2001/02/23 15:52

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

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

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

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

QC++でコンテナを扱う際の質問です。

C++でコンテナを扱う際の質問です。

確保されるメモリ位置が最後まで保証されているコンテナは存在するのかを知りたいです。

Vectorは連続性が保障されていることから間違いなくアドレスは変わると思うのですが、Deque、Listなどはどうか知りたいです。

固定されているならアドレスをMapのkeyのように扱えるかも?などと考えた次第です。

Dequeだと削除しないかぎり変わらないよ!などといった条件がある場合はそれも教えていただけると尚嬉しいです。

よろしくお願いします

Aベストアンサー

コンテナなどは、連続性といっても見かけの連続性だけを保証するのが普通です。

その意味からは、物理的なアドレスが固定されているかどうかは断言できません。
そういうわけで、コンテナの場合は、ポインタ経由ではなくて、イテレータ経由でアクセスするわけです。

ただ、deque は、[] をサポートしているので、

std::deque<int> que;

に対して、 que[0], que[1] などは、期待通りの動作をするはずです。(未確認)
残念ながら、list は、[] をサポートしていませんので、同じ記述はできません。

もともと、配列のレベルであっても、連続性は厳密には、

・ &a[n] - &a[m] が、n - m に等しくなる
・ ptr = &a[n] のとき、*(ptr + m) は、a[n + m] をポイントする

ということであって、あからさまに、物理的なメモリのアドレスは出てこないですから。
なので、ポインタ同士の減算も、「両方のポインタが同じ配列にあるか、一度に malloc() された同じ領域をポイントしている場合」しか、保証されていなかったりします。

コンテナなどは、連続性といっても見かけの連続性だけを保証するのが普通です。

その意味からは、物理的なアドレスが固定されているかどうかは断言できません。
そういうわけで、コンテナの場合は、ポインタ経由ではなくて、イテレータ経由でアクセスするわけです。

ただ、deque は、[] をサポートしているので、

std::deque<int> que;

に対して、 que[0], que[1] などは、期待通りの動作をするはずです。(未確認)
残念ながら、list は、[] をサポートしていませんので、同じ記述はできません。

もともと、...続きを読む

QVisual C++ と Visual C++ Express Edition

の違いについて教えてください。
ExpressでもMDIを作成できるのでしょうか?

Aベストアンサー

「Express Edition」には、大雑把にリソースエディタとMFCが付いていません。あとインストーラ作成機能が無かったかな?細かな違いはだいぶありますけど。
WindowsAPIやC++/CLIを使う分には、ほぼ同等にプログラムを作る事ができます。
MDIももちろん作れますよ。

「猫でもわかるプログラミング」
http://www.kumei.ne.jp/c_lang/
のようにリソースエディタやクラスウィザードを使わない作り方をする分には、ほぼ差が無いと思います。

QVisual C++ 6.0とVisual C++ 2005 についてですが・・・

Visual C++ 6.0でワークスペースと呼ばれていた物がVisual C++ 2005になるとソリューションと言う名前になったと聞きました。
また、Visual C++ 6.0で製作したファイルはVisual C++ 2005でも開けるけどVisual C++ 2005製作したファイルはVisual C++ 6.0では開けないと聞いたのですがVisual C++ 2005製作したファイルをVisual C++ 6.0でも開ける様に互換性を持たせる方法はありませんか?
学校と家で使っている環境が違うので互換性がもてれば両方で使えてとても便利になります。
御存知の方がいましたら御伝授お願いします。

Aベストアンサー

ソースファイルやヘッダファイル(拡張子CPP/C/H/HPPなど)はVisual C++ 6.0と2005で共用できるので、6.0用のプロジェクトファイル&ワークスペースと、2005用のプロジェクトファイル&ソリューションファイルを用意すれば両方の環境で開発を進めることができるでしょう。

但し、以下の点にご注意下さい。
・ソースファイルの追加や削除は両方のプロジェクトに対して行うこと。
・Visual C++6.0ではManaged C++が使えないのでManaged C++は使わないこと。
・MFCの仕様がだいぶ違うので、MFCも避けること。MFCを知り尽くしているのでしたらチャレンジはご自由に。
・C++コンパイラとしても若干仕様が違うので(for文内で定義された変数のスコープなど)、常に両方の環境でコンパイルできるか考えながら開発する必要があること。

QVisual C++ 2008 Express EditionとVisual c++.net standard version 2003

私は大学生なのですが、最近大学のPCでMicrosoft Visual C++ 2008 Express Editionを使って自分なりに真面目にプログラムに取り組むようになりました。
そんな中、家の中の引き出しを整理していると、数年前に興味本位で購入したVisual c++.net standard version 2003が見つかりました。当時はちょっといじっただけでほとんど放置状態でした。

そこで詳しい方にお伺いしたいのですが、『Microsoft Visual C++ 2008 Express Edition』と『Visual c++.net standard version 2003』、これからはどちらを使ってプログラムを組んでいく方が良いと思われますか?幾つかサイトで調べてみましたが、イマイチ違いが分かりませんでした。

恐らくプログラムの目的によって変わってくるとは思いますが、その辺りも含めて御教え頂けたら…(こういうことするならこっち、特に何も制限がないならこちらを勧める、など)
ちなみに今の所、Microsoft Visual C++ 2008 Express Editionで不便に思ったことはありません。

私は大学生なのですが、最近大学のPCでMicrosoft Visual C++ 2008 Express Editionを使って自分なりに真面目にプログラムに取り組むようになりました。
そんな中、家の中の引き出しを整理していると、数年前に興味本位で購入したVisual c++.net standard version 2003が見つかりました。当時はちょっといじっただけでほとんど放置状態でした。

そこで詳しい方にお伺いしたいのですが、『Microsoft Visual C++ 2008 Express Edition』と『Visual c++.net standard version 2003』、これからはどちらを使ってプ...続きを読む

Aベストアンサー

2003と2008の違いは大学生が趣味か学業のためにやる程度であれば差がないと思います.

2003から2008への変更点ですが,
・Vista対応
・64ビットCPUへの対応
・.NetFramework 3.5に対応
・コンパイラの最適化精度が上がっている

ExpressEditionは,使用用途や製品版と比べてWindows SDKなどが省かれています.

QCかC++どちらを覚えるべきですか?

初めまして。せいじと申します。よろしくお願いします。
プログラミング経験なしです。今30歳です。
遅すぎますが、これからC言語かC++言語をマスターしたいと思っています。
Windows 98 + Borland C++ Compiler 5.5
で勉強しようと思ってます。

Cの拡張されたものがC++だからC++を覚えようと思って、C++の本を買いました。
・新C++言語入門 ビギナー編 SOFTBANK Publishing 林 晴比古 著
・詳説C++             SOFTBANK Publishing 大城 正典 著
2冊ともまだ最初の方を読んで実践しただけです。

クラス、オブジェクト指向プログラミング等々が何なのか分かっていないのに、
C++をする意味があるのか、まずはCで十分ではないのか?
と思うようになってきました。

実際どうしたら良いのでしょう。
何も知らないならC++からでも良いのでしょうか。
違いが分からないならCで十分なのでしょうか。
みなさんの意見を聞かせてください。

よろしくお願いします。

初めまして。せいじと申します。よろしくお願いします。
プログラミング経験なしです。今30歳です。
遅すぎますが、これからC言語かC++言語をマスターしたいと思っています。
Windows 98 + Borland C++ Compiler 5.5
で勉強しようと思ってます。

Cの拡張されたものがC++だからC++を覚えようと思って、C++の本を買いました。
・新C++言語入門 ビギナー編 SOFTBANK Publishing 林 晴比古 著
・詳説C++             SOFTBANK Publishing 大城 正典 著
2冊ともまだ最初の方を読んで実...続きを読む

Aベストアンサー

seiji-h さん。こんにちわ。
プログラミングを今後主に何の目的で使いますか?

(1)仕事でC++が必要。
 頑張っておぼえましょう。

(2)文書データの加工など。。。
 今すぐPerl言語に切り替えましょう。

(3)趣味でWindowsアプリなどの作成を目指して。。
 そのままコツコツC++を続けていってください。

(4)歯ごたえのあるプログラミング言語を。。。
 そのままコツコツC++を続けていってください。

>実際どうしたら良いのでしょう。
>何も知らないならC++からでも良いのでしょうか。
どのようなことに興味をおぼえるかで、Cから始めるべきか、C++から始めるべきか
向き不向きがあります。

★簡潔な文法をもとに、ガリガリと自分の思うままに、プログラミングしたい。
とにかく自分で動くものを作りたいということなら、Cから始めるのが向いていると思われます。
★プログラミングすることよりも、プログラミング言語「自体」に興味があって、
一種の研究の対象と考えている場合は、C++の方が、おもしろおかしく学べると思います。

seiji-h さん。こんにちわ。
プログラミングを今後主に何の目的で使いますか?

(1)仕事でC++が必要。
 頑張っておぼえましょう。

(2)文書データの加工など。。。
 今すぐPerl言語に切り替えましょう。

(3)趣味でWindowsアプリなどの作成を目指して。。
 そのままコツコツC++を続けていってください。

(4)歯ごたえのあるプログラミング言語を。。。
 そのままコツコツC++を続けていってください。

>実際どうしたら良いのでしょう。
>何も知らないならC++からでも良いのでしょうか。
...続きを読む

QVisual C++ 6.0で作成したプログラムをVisual C++

Visual C++ 6.0で作成したプログラムをVisual C++ 2008で実行することはできるのでしょうか?

ビルドしてみるのですが、afxwin.hがないと表示されてしまいます。
自分でも検索してみたのですが、ダウンロードできる状況なのかも良く分かりませんでした。

2週間後にプレゼンがあるのですが、手持ちのパソコンにはVisual C++2008しかないため、6.0をインストール、と考えたのですがそれもできないようなので・・・

もし、実行できるのであればその方法をお手数ですが分かりやすく教えてくださるとうれしいです。

Aベストアンサー

ひょっとして Visual C++ Express Edition を使っているのでしょうか。

afxwin.h は MFC のヘッダーで、MFC は Visual C++ Express Edition では利用できません。
Visual Studio の Standard Edition 以上を購入するか、Visual C++ 6.0のプログラムをもとに .NET で作り直すかのどちらかですが、……前者は結構な出費となりますし、後者は 2 週間ではかなり難しいと思います。

QVisual C++を使用するには,C++の知識は必要?

Visual C++ を使用する必要が生じたのですが,C言語の知識しかなく,
VC++を使用するにあたり,新たにC++を勉強しなければならないか分かりません。
C++を勉強してから,VC++を勉強し始めるべきなのでしょうか?
また,もしC++の勉強をしなければならない場合,使用する参考書として「独習C++」を考えているのですが,この参考書で事足りるでしょうか?
回答よろしくお願いします。

Aベストアンサー

ANo.1の方に同感です。

私はMS-DOSでのC言語からVC++へジャンプしました。

VC++を理解するということは
 1.C++という言語
 2.windowsOS,API
 3.MFC
を理解するということです。

私のとっかかりの本は、3冊のシリーズで
 1.Windowsプログラミングについて
 2.C++について
 3.MFCについて(だった思う)
に分かれており、C言語の知識とwindowsのアプリを触った経験があれば順を追って素直に理解できるものでした。
#処分してしまったので正しい書籍名はわかりませんが、クリーム色のカバーでした。

ただ、これはあくまで入門書で、その後C++に関する本、MFCに関する本、WIN32APIに関する何冊か読まないと、やはり仕事はできません。

QVisual C#とVisual C++

ネットワーク越しではなくてローカルでのみ動作する
ソフトウェアを開発する場合C#とC++のどちらが
有利でしょうか?

Aベストアンサー

 どの様な使い方をするかですが、以下の様な条件があるならC++でしょうが。。
1)他のOSにも移植する可能性がある
2)兎に角高速に処理をしたい

==>
 目的や状況に応じて選ぶ必要があります。その目的(開発時間、機能。。)や、現在の状況、将来の状況予想から有利な物を選ぶ必要があるので、質問者が色々考えて決定するのが一番でしょう。

QC/C++でアプリ開発

C/C++でアプリ開発

いまどきC++でアプリ開発なんてしないのででしょうか。
C/C++を使うのは組み込み分野とかぐらいなんでしょうか?
もし新卒の大学生がC/C++でアプリ開発するならどういう会社に入ればよいでしょうか?

Aベストアンサー

ソフトウェアハウスとかなら今でもC言語が必要になる案件は多いです
Windows向けソフトウェアの受託とか、Linuxアプリケーションとか。

ただ、C言語でそれなりの結果を出している
というわけでは無いのでしたら、
無理してC言語にこだわらない方がいいかもしれません。
Cで開発するだけの自信があるのでしたら、
それ以外の言語の仕事も十分に出来ますし、
そっちの方が仕事が捕まえやすいというのもあります。
それにC言語の仕様の多さは他の言語には類を見ないくらいに大きいですから、
他の言語の仕様を覚えてからでも、十分に役立たせることが出来る。

QC++Builder → Visual C++ 移植について

C++BuilderXを使って開発したアプリケーションがあるのですが
64bit版Windowsへの対応の要件が出てきました。
ところが、C++Builderがいまだに64bit版Windows未対応(2009年中頃対応予定との事)
なので、Visual C++での作成を検討しなくてはならなくなりました。

と言った状況なのですが、
C++Builder → Visual C++ に移植する際に、どういった問題点が出てきますでしょうか。
VCLを使っているところなんかはもちろん見なければならないでしょうが
他に注意するべき点などはありますでしょうか。

詳しい方がいらっしゃいましたらお教え願います。

Aベストアンサー

文法面ではTemplateまわりにコンパイラごとの違いが出やすいですね
VCもコンパイラのバージョンによってかなり違いがあるので
どのバージョンによるかで変わってきます
あまり複雑なTemplateの使い方は移植性を考えて
避けておくのが無難です。

後はC++Builder特有の拡張ではプロパティの宣言がありますね

あと文字列操作とファイルディレクトリ操作の関数も
C++Builder特有のものがあるので、使ってるかどうか注意が必要です


人気Q&Aランキング