C++基礎入門チュートリアル(一):基礎知識大雑煮
3927 ワード
私はとても憂鬱で、この本はやはり詳しく話して、私は第2章を見て、深呼吸を見て、本当に詳しく(lao)細い(dao)です.しかし、これはいいですね.后で难しい内容はいいと思います.では、この章はプレビューの章として、少し栄养のある内容を抽出して记录しましょう.注意:このシリーズのチュートリアルはプログラミングの言语の基础のない友达には向いていません.C++の基础の补充としてだけです.教程の内容は《C++Primer Plus》の1冊に基づいて、初心者に適して、熟練した手は直接無視してください.
1.もしあなたが注釈をつけなければ、私はあなたを注釈します~!
C++の注釈は2種類あります.1つ目は、単行注釈です.それは//以下のコードです.
//後に続くのはコメントの内容で、一方通行のコメントです
注釈とは、コードに関係のない内容、コンパイラに関係のない内容、私たち自身や他の人に見せるものです.
説明書のようです.
もう一つのコメントは、/**/
次のコードがあります.
/**/中央にテキストを1つ置くことができます.これは複数行のコメントです.このくだらないことはあまり言わない.
またくだらないことを言います(若:さっき誰がくだらないことを言わなかったっけ?)、それはコメントが本当に大事なんですよね~!そんな大牛が変数の名前を取ったほうがいいとか、関数の名前を取ったほうがいいとか言うのを聞かないでください.注釈は必要ありません.誰もが「良い」に対して異なる評価を持っているので、注釈はとても重要で、誰がそれらのページ全体に注釈のないコードを見るのが好きですか?英語の注釈でも中国語の注釈でも、他の人や自分に最も速いスピードでコードの意味を理解させることができます.そう、もし自分が完璧なコードを書いていると思っている人に出会ったら、注釈も書かないで、それでは、あなたは彼の全体の人を注釈にしましょう~!
2.ヘッダファイル
言語自体は文法のほかに、最も重要なのは様々なライブラリであるはずです.さまざまなライブラリ、すなわちそのさまざまな機能は、いくつかの関数を呼び出すだけで特定の機能を完了することができます.例えば、文字を印刷したり、ファイルを読み書きしたりします.C++は、異なるファイルにそれぞれ格納されるライブラリを多数提供しています.これらのライブラリの関数を使用するには、これらのライブラリのヘッダファイルを含めます.次のコードがよく見られます
#includeはヘッダファイルを含むためのもので、ヘッダファイルを含むとあるライブラリの関数を使用できます.では、なぜヘッダファイルがあるのでしょうか.hエンディング、いくつかありませんか?実は現在C++のデフォルト規定は必要ありません.hエンディングの,.hエンディングは昔からの習慣ですが、実は今でもクラスファイルを新規作成するときは残すことに慣れています.h,C++が持参するライブラリは接尾辞がない場合が多い.実はヘッダーファイルは1つのファイルで、何の終わりがあまり関係ない(大部分の場合)ので、時には私たちも見ることができます.hppの最後のファイル.これはあまり言いません~要するに、コードをコンパイルするときにエラーを報告したり、未宣言のタイプを使用できないなどと言ったりすると、基本的には対応するヘッダファイルが含まれていません.
3.ネーミングスペース
初心者としては、次のようなコードをよく見かけるはずです.
例えばcocos 2 d-xのSpriteクラスを使用します.このクラスはcocos 2 dです.hライブラリにあるので、まずcocos 2 dを含めます.hヘッダファイル.次にSpriteというクラスを使います.例えば、Sprite*sp=Sprite::create(「boy.png」)です.しかし、みんなが試したことがあると信じています.このように直接使うと、Spriteが見つからないということです.これはSpriteがあるネーミングスペースにあるので、cocos 2 d::Sprite*sp=cococos 2 d::Sprite::create("boy.png");これで大丈夫です.では、ネーミングスペースは何ですか.
4.異なるライブラリの同じクラス名の競合
まず問題を走って、貢献したいと思って、もっと使いやすいライブラリ(ヘッダファイルはmutou.hと呼ばれています)を書いて、その中にSpriteというクラスもあります.
そこで、皆さんは私のライブラリ:Sprite*mSp=Sprite::new(「girl.png」);さて、问题が来て、掘削机のどの家を学びますでは、cococos 2 dとmutouのSpriteクラスを同時に使いたい場合、何が起こるのでしょうか.次のコードがあります.
これは間違いに違いありません.Spriteがはっきりしていないということなので、このときは、これらの異なるライブラリの同じ名前のクラスを区別するために「ネーミングスペース」というものが必要になります.cococos 2 dという名前のネーミングスペースにcococos 2 dのライブラリを入れ、mutouという名前のネーミングスペースにmutouのライブラリを入れます.
このように使うと問題はありません.あるライブラリをあるネーミングスペースに置く方法については、実は簡単ですが、ここでは説明しません.
5.サボる
最初に戻ると、using namespace cococos 2 d;また何ですか?さっき見たように、Spriteの前にはいつもcocos 2 dをつけます::このような接頭辞は、本当にうるさいです.だから、私たちはサボって、using namespace cococos 2 dを使ったことができます.その後、このような接頭辞を書く必要はありません.ただし、これは競合がない場合にのみ、先ほど述べた異なるライブラリの同じクラス名競合に遭遇した場合は、接頭辞を使用する必要があります.本には、using namespaceを乱用するのはいいことではないと書かれていますが、私は穴を経験したことがありません.大規模なプロジェクトで問題が発生する可能性があります.普通の手遊びはあまり影響しません.心配なら、using namespace cocococos 2 d::Sprite;これにより、cococos 2 d::接頭辞を使わずにSpriteクラスを使用できますが、cococos 2 dライブラリの他のクラスを使用する場合は、using namespace cocococococos 2 d::name;要するに、この方法は、使用するクラスがusing宣言を使用することです.支出を少し節約できます.
6.終了
はい、前の内容はあまりにも基礎的で、紹介できるものがないほど基礎的です.次の章は少し良くなるはずです...
1.もしあなたが注釈をつけなければ、私はあなたを注釈します~!
C++の注釈は2種類あります.1つ目は、単行注釈です.それは//以下のコードです.
//
Test* t = new Test();;
//後に続くのはコメントの内容で、一方通行のコメントです
注釈とは、コードに関係のない内容、コンパイラに関係のない内容、私たち自身や他の人に見せるものです.
説明書のようです.
もう一つのコメントは、/**/
次のコードがあります.
/*
?
*/
Test* t = new Test();;
/**/中央にテキストを1つ置くことができます.これは複数行のコメントです.このくだらないことはあまり言わない.
またくだらないことを言います(若:さっき誰がくだらないことを言わなかったっけ?)、それはコメントが本当に大事なんですよね~!そんな大牛が変数の名前を取ったほうがいいとか、関数の名前を取ったほうがいいとか言うのを聞かないでください.注釈は必要ありません.誰もが「良い」に対して異なる評価を持っているので、注釈はとても重要で、誰がそれらのページ全体に注釈のないコードを見るのが好きですか?英語の注釈でも中国語の注釈でも、他の人や自分に最も速いスピードでコードの意味を理解させることができます.そう、もし自分が完璧なコードを書いていると思っている人に出会ったら、注釈も書かないで、それでは、あなたは彼の全体の人を注釈にしましょう~!
2.ヘッダファイル
言語自体は文法のほかに、最も重要なのは様々なライブラリであるはずです.さまざまなライブラリ、すなわちそのさまざまな機能は、いくつかの関数を呼び出すだけで特定の機能を完了することができます.例えば、文字を印刷したり、ファイルを読み書きしたりします.C++は、異なるファイルにそれぞれ格納されるライブラリを多数提供しています.これらのライブラリの関数を使用するには、これらのライブラリのヘッダファイルを含めます.次のコードがよく見られます
#include "hello.h"
#include
#includeはヘッダファイルを含むためのもので、ヘッダファイルを含むとあるライブラリの関数を使用できます.では、なぜヘッダファイルがあるのでしょうか.hエンディング、いくつかありませんか?実は現在C++のデフォルト規定は必要ありません.hエンディングの,.hエンディングは昔からの習慣ですが、実は今でもクラスファイルを新規作成するときは残すことに慣れています.h,C++が持参するライブラリは接尾辞がない場合が多い.実はヘッダーファイルは1つのファイルで、何の終わりがあまり関係ない(大部分の場合)ので、時には私たちも見ることができます.hppの最後のファイル.これはあまり言いません~要するに、コードをコンパイルするときにエラーを報告したり、未宣言のタイプを使用できないなどと言ったりすると、基本的には対応するヘッダファイルが含まれていません.
3.ネーミングスペース
初心者としては、次のようなコードをよく見かけるはずです.
#include "cocos2d.h"
using namespace cocos2d;
例えばcocos 2 d-xのSpriteクラスを使用します.このクラスはcocos 2 dです.hライブラリにあるので、まずcocos 2 dを含めます.hヘッダファイル.次にSpriteというクラスを使います.例えば、Sprite*sp=Sprite::create(「boy.png」)です.しかし、みんなが試したことがあると信じています.このように直接使うと、Spriteが見つからないということです.これはSpriteがあるネーミングスペースにあるので、cocos 2 d::Sprite*sp=cococos 2 d::Sprite::create("boy.png");これで大丈夫です.では、ネーミングスペースは何ですか.
4.異なるライブラリの同じクラス名の競合
まず問題を走って、貢献したいと思って、もっと使いやすいライブラリ(ヘッダファイルはmutou.hと呼ばれています)を書いて、その中にSpriteというクラスもあります.
そこで、皆さんは私のライブラリ:Sprite*mSp=Sprite::new(「girl.png」);さて、问题が来て、掘削机のどの家を学びますでは、cococos 2 dとmutouのSpriteクラスを同時に使いたい場合、何が起こるのでしょうか.次のコードがあります.
#include "cocos2d.h"
#include "mutou.h"
Sprite* sp = Sprite::create("boy.png");
Sprite* mSp = Sprite::new("girl.png");
これは間違いに違いありません.Spriteがはっきりしていないということなので、このときは、これらの異なるライブラリの同じ名前のクラスを区別するために「ネーミングスペース」というものが必要になります.cococos 2 dという名前のネーミングスペースにcococos 2 dのライブラリを入れ、mutouという名前のネーミングスペースにmutouのライブラリを入れます.
#include "cocos2d.h"
#include "mutou.h"
cocos2d::Sprite* sp = cocos2d::Sprite::create("boy.png");
mutou::Sprite* mSp = mutou::Sprite::new("girl.png");
このように使うと問題はありません.あるライブラリをあるネーミングスペースに置く方法については、実は簡単ですが、ここでは説明しません.
5.サボる
最初に戻ると、using namespace cococos 2 d;また何ですか?さっき見たように、Spriteの前にはいつもcocos 2 dをつけます::このような接頭辞は、本当にうるさいです.だから、私たちはサボって、using namespace cococos 2 dを使ったことができます.その後、このような接頭辞を書く必要はありません.ただし、これは競合がない場合にのみ、先ほど述べた異なるライブラリの同じクラス名競合に遭遇した場合は、接頭辞を使用する必要があります.本には、using namespaceを乱用するのはいいことではないと書かれていますが、私は穴を経験したことがありません.大規模なプロジェクトで問題が発生する可能性があります.普通の手遊びはあまり影響しません.心配なら、using namespace cocococos 2 d::Sprite;これにより、cococos 2 d::接頭辞を使わずにSpriteクラスを使用できますが、cococos 2 dライブラリの他のクラスを使用する場合は、using namespace cocococococos 2 d::name;要するに、この方法は、使用するクラスがusing宣言を使用することです.支出を少し節約できます.
6.終了
はい、前の内容はあまりにも基礎的で、紹介できるものがないほど基礎的です.次の章は少し良くなるはずです...