質問

私が最後に C++ を頻繁に使用したのは何年も前で、それは厳密に Windows プラットフォーム上で行われていました。具体的には、Microsoft Visual Studio を IDE として使用し、Microsoft の C++ バージョンを使用するための習慣的なパターンをいくつか開発しました。たとえば、私が使用したのは、 ボイドメイン() 標準の代わりに int main().

現在、ANSI C++ に準拠するプログラムを開発する必要があり、コードは g++ を使用してコンパイルされるクラスを受講しています。私はすぐにそれを知りました システム (「一時停止」) g++ では動作しません。これはおそらく Microsoft のものです。

ANSI C++ に準拠するためのより良い方法を学べる良いリソース (サイト、チュートリアル、書籍) を誰か知っていますか?

ありがとう。

役に立ちましたか?

解決

この 2 つを強くお勧めします。

  • comp.lang.c++ Usenet ニュースグループ。優れた Usenet サービス プロバイダーを入手し、ニュース リーダーを使用できれば、スパムを取り除くことができるはずです。私が使う 永遠の9月.org, 、とても気に入っています。
  • 読む C++ よくある質問. 。素晴らしい情報がたくさんあります。

確かに、C++ の入門チュートリアルが必要な場合には、両方ともそれほど優れたものではありませんが、すでに C++ をある程度は知っているので、さらに学習して悪い習慣を修正する必要があるようです。私の個人的な経験から言えば、上記の 2 つはまさにそれを行うのに非常に役立ちます。

について comp.lang.c++, 、よくある質問をよく読み、投稿する前にしばらくそこに潜んでください。もちろんスタックオーバーフローにも同じことが当てはまりますが、ここでは潜伏する必要はないかもしれません。

使用する g++, 、プログラムをコンパイルします g++ -ansi -pedantic -Wall -Wextra -Weffc++, 、すべての警告を必ず理解してください。私が使う:

g++ -Wextra -Wall -Weffc++ -ansi -pedantic -Woverloaded-virtual \
-Wcast-align -Wpointer-arith

他のヒント

あなたはグラムの++を使用している場合は、-pedanticと-std = C ++ 98個のフラグを指定してコンパイル。 ANSI C ++のための唯一の基準は、本当に初心者にお勧めすることはできませんISO規格文書、です。あなたは道で、システム(「PAUSE」)について間違っている - システム()++ ANSI Cの一部である - それはしかし、パラメータは標準化されていないのです。

ほとんどのC ++の本は(++もちろん彼らは、Visual Cのために特別に作られていない限り)に依存しないプラットフォームとなります。ここではいくつかの ##の長所によって推奨されているの良い本C ++

GCCはあなたのコードは、ISO C ++に準拠し(それはISOの標準ではなく、ANSI標準ではないということ)でない場合、あなたを伝えるの良い仕事をします。警告オプション-Werror -Wallを設定し、単純にすべての警告を修正します。あなたはすぐに非対応の習慣やGERますます少なく警告を出ます。

、良いチュートリアル用のgccがたくさんありますが行いますフラグを持っていることを確認コードはANSI Cに準拠しすぎて、gcc -ansi -Wall -fsyntax-only -pedantic

* Wall - turn on all errors
* ansi - use strict ANSI C specification
* fsyntax-only - only checks syntax
* pedantic - reject violations

パー、あなたが使用することができます。またコメント     * -Wextraは、いくつかの余分な警告をオンにするには、

更新の上の総額。更新のための感謝、そして-pedanticの言及

gccのファンがたくさんます。

できるだけ厳密にするには、Visual Studioの下でコンパイルする重要なフラグがあります:

cl /Za /W4 ...rest of command...

/ Zaが、マイクロソフト固有の拡張機能を無効にし、/ W4は、(とんでもない事について不平を言う/ウォール、除く)最高警告レベルです。

私はまた、あなたは、Visual Studioの最新のバージョンを使用することをお勧めしたい - 旧バージョン(VC6)は途方もなく非準拠した、とMicrosoftは正式に彼らはこの時点では存在しなかったふりをする。

私がお勧めします。

ウェブサイト:

本:

  • 効果的な C++
  • 効果的なSTL
  • 最新の C++ デザイン
  • テンプレートのメタプログラミング

専門家と話したり聞いたりして、彼らが何を言わなければならないのか、そしてその理由を理解する。

C ++入門(第4版)は、現代的なアプローチを取り、言語のすべての重要な部分を教えて、これらの日最高の初心者の本のように見えます。アクセラC ++は、多くの場合、専門家が推奨する別の本であり、それは良い入門として役立つが、C ++プライマーはうまくそれを置き換え、より良い言語をカバーしていたので、私はもうそれを買ってお勧めしません。

注:(むしろ悪い本である)C ++入門Plusは、C ++プライマーとは何の関係もありません。

。 それは言語の父によって書かれているので、

Stroustrup氏のザ・C ++プログラミング言語は常に、もちろん、言及する必要があります。多くの人々はそれが啓発を見つけるが、私は個人的に言語を学ぶためにそれをお勧めしません。

私が言及したすべての書籍が唯一の無非標準の拡張をISO規格について説明します。これらの本でのプログラムは、任意のC ++コンパイラで動作するはずです。

私は疑問を持っている時はいつでも

私は特別に、標準C ++ライブラリについて、www.cplusplus.comを訪れるのが好きです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top