C ++

 Computer >> コンピューター >  >> プログラミング >> C ++
  1. C ++のローカル変数とグローバル変数とは何ですか?

    スコープはプログラムの領域であり、大まかに言えば、変数を宣言できる場所は3つあります- ローカル変数と呼ばれる関数またはブロックの内部 正式なパラメータと呼ばれる関数パラメータの定義。 グローバル変数と呼ばれるすべての関数の外。 ローカル変数は、その関数またはコードブロック内にあるステートメントでのみ使用できます。ローカル変数は、それ自体で機能することは知られていません。 例 #include <iostream> using namespace std; int main () {    // Local variable declaration: &n

  2. C ++の静的変数、自動変数、グローバル変数、ローカル変数の違い

    ここには2つの別個の概念があります- スコープ。名前にアクセスできる場所を決定します-グローバルおよびローカル 保存期間。変数がいつ作成および破棄されるかを決定します-静的および自動 スコープ ローカル変数は、その関数またはコードブロック内にあるステートメントでのみ使用できます。ローカル変数がそれ自体で機能することは知られていない。 例 #include <iostream> using namespace std; int main () { // Local variable declaration: int a, b; int c;

  3. C++の変数のスコープ

    スコープはプログラムの領域であり、大まかに言えば、変数を宣言できる場所は3つあります- ローカル変数と呼ばれる関数またはブロックの内部 仮パラメータと呼ばれる関数パラメータの定義。 グローバル変数と呼ばれるすべての関数の外。 ローカル変数は、その関数またはコードブロック内にあるステートメントでのみ使用できます。ローカル変数は、それ自体で機能することは知られていません。 例 #include <iostream> using namespace std; int main () {    // Local variable declaration: &nb

  4. 変数、そのタイプ、およびC++のスコープ

    C ++の各変数には特定のタイプがあり、変数のメモリのサイズとレイアウトを決定します。そのメモリ内に格納できる値の範囲。変数に適用できる一連の操作。表記-を使用して変数を宣言します type variableName; 型は、プリミティブ(int、bool、float、charなど)、列挙型、別の型へのポインター、またはデータ構造またはクラスのいずれかによって定義されたより複雑な型にすることができます。 可変スコープ スコープはプログラムの領域であり、大まかに言えば、変数を宣言できる場所は3つあります- ローカル変数と呼ばれる関数またはブロックの内部 仮パラメータと呼ばれる関数パラメータの

  5. IntelがサポートするC++11の機能

    IntelがサポートするC++11機能は、ドキュメントの公式ガイドとして入手できます。これらの機能は、https://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compilerで確認できます。

  6. 最高のC++ブックとガイドは何ですか?

    Webには、C++の学習に役立つ多くのリソースがあります。私はあなたにC++を学ぶためにそこにある最高のリソースのいくつかのコンパイルされたリストを提供しようとしました- https://www.tutorialspoint.com/cplusplus/ −これは、C ++のほとんどすべての基本トピックと中間トピックを詳細にカバーし、C ++を学ぶための全体的に優れたリソースであるため、C++を学ぶのに最適な場所です。 C ++のツアー(Bjarne Stroustrup)-この本は、すでにC ++を知っている人のために、C ++(言語と標準ライブラリ、およびC ++ 11の使用)の

  7. C ++の最高のオンラインチュートリアルは何ですか?

    Webには、C++の学習に役立つ多くのリソースがあります。私はあなたにC++を学ぶためにそこにある最高のリソースのいくつかのコンパイルされたリストを提供しようとしました- https://www.tutorialspoint.com/cplusplus/ −これは、C ++のほぼすべての基本トピックと中間トピックを詳細にカバーし、全体としてC ++を学習するための優れたリソースであるため、C++を学習するのに最適な場所です。 C ++のツアー(Bjarne Stroustrup)-この本は、C ++をすでに知っている人のために、C ++(言語と標準ライブラリ、およびC ++ 11の使用)の

  8. C ++の未定義の参照/未解決の外部シンボルエラーとは何ですか?

    名前が示すように、宣言したシンボルはあなたによって定義されていません。これは多くの場合に発生する可能性があります。そのうちの3つを見てみましょう- 宣言された名前を定義するのを忘れました。たとえば、ファイルで関数を宣言し、それをどこかで使用したとします。しかし、あなたはその定義を提供しませんでした。コード- #include<iostream> void foo(); int main() {    foo(); // Declared but not defined } 定義しましたが、修飾名を使用しませんでした。メソッドを使用してクラスを作成

  9. C ++での「&」記号の使用法は何ですか?

    &記号はC++で演算子として使用されます。これは2つの異なる場所で使用されます。1つはビット単位の演算子として、もう1つは演算子のポインタアドレスとして使用されます。 ビットごとのAND ビットごとのAND演算子(&)は、第1オペランドの各ビットを第2オペランドのそのビットと比較します。両方のビットが1の場合、ビットは1に設定されます。それ以外の場合、ビットは0に設定されます。ビット単位のAND演算子の両方のオペランドは、整数型である必要があります。 例 #include <iostream>   using namespace std;   int mai

  10. C ++でオブジェクト指向プログラミングを開始するにはどうすればよいですか?

    オブジェクト指向プログラミング(OOP)は、属性の形式でデータを含む可能性のある「オブジェクト」の概念に基づくプログラミングパラダイムです。メソッドの形で、物事を行うための指示。 たとえば、人は身長、性別、年齢などの特定のプロパティを持つオブジェクトです。また、移動、会話などの特定のメソッドもあります。 オブジェクト これは、オブジェクト指向プログラミングの基本単位です。つまり、データとデータを操作する機能の両方が、オブジェクトと呼ばれる単位としてバンドルされています。 クラス クラスを定義するときは、オブジェクトの青写真を定義します。これは実際にはデータを定義しませんが、クラス名の意味

  11. C ++テンプレートをヘッダーファイルにのみ実装できるのはなぜですか?

    C ++でテンプレートをインスタンス化すると、コンパイラは新しいクラスを作成します。このクラスには、テンプレート引数を配置したすべての場所が、使用時に渡す実際の引数に置き換えられています。 例の場合 − template<typename T> class MyClass {    T foo;    T myMethod(T arg1, T arg2) {       // Impl    } }; そして、プログラムのどこかでこのクラスを使用してください。 MyClass<int

  12. C ++に関する三つのルールとは何ですか?

    三つのルールは、C++を使用する際の経験則です。これは、クラスで次のいずれかが必要な場合にと言う一種の良い習慣のルールです。 コピーコンストラクター 代入演算子 またはデストラクタ 明示的に定義されている場合は、3つすべてが必要になる可能性があります。 どうしてこれなの?これは、クラスが上記のいずれかを必要とする場合、動的に割り当てられたリソースを管理しており、それを正常に達成するには他のリソースが必要になる可能性があるためです。たとえば、代入演算子が必要な場合は、現在参照によってコピーされているオブジェクトのコピーを作成するため、リソースが割り当てられます。コピーにはコピーコンストラ

  13. ループ条件内でのiostream::eofの使用が間違っていると見なされるのはなぜですか?

    EOFに達していないからといって、次の読み取りが成功するわけではありません。 C++のファイルストリームを使用して読み取るファイルがあると考えてください。ファイルを読み取るためのループを作成するときに、stream.eof()をチェックしている場合は、基本的に、ファイルがすでにeofに到達しているかどうかをチェックしています。 つまり、-のようなコードを記述します。 例 #include<iostream> #include<fstream> using namespace std; int main() {    ifstream myFile

  14. 名前空間std'の使用が悪い習慣と見なされたのはなぜですか?

    C ++には、コンテナやアルゴリズムなど、アプリケーションの構築に使用する一般的な機能を含む標準ライブラリがあります。たとえば、キュ​​ークラスをグローバルに定義した場合など、これらで使用される名前が公開されていない場合は、競合することなく同じ名前を再度使用します。そこで、この変更を含めるために名前空間stdを作成しました。 using namespaceステートメントは、それが存在するスコープ内で、std::の前に接頭辞を付けることなくstd名前空間の下にあるすべてのものを使用可能にすることを意味します。 この方法は、たとえばコードでは問題ありませんが、std名前空間全体をグローバル名前

  15. ローカル変数のメモリは、C / C ++のスコープ外でアクセスできますか?

    スコープ外のローカル変数のメモリにアクセスできる可能性がある例を見てみましょう。 例 #include<iostream> int* foo() {    int x = 3;    return &x; } int main() {    int* address = foo();    cout << *address;    *address = 12;    cout << *address; } 出力 これにより出力

  16. C ++識別子でアンダースコアを使用する際のルールは何ですか?

    MSDNドキュメントから- 識別子の先頭に2つの連続したアンダースコア文字(__)を使用するか、先頭に1つのアンダースコアを付けて大文字を使用することは、すべてのスコープでのC++実装用に予約されています。現在または将来の予約済み識別子と競合する可能性があるため、ファイルスコープの名前には先頭のアンダースコアの後に小文字を使用しないでください。 したがって、-のような名前は使用しないでください。 __ foo、__ FOO、_FOO また、次のような名前はグローバル名前空間では使用しないでください- _foo、_bar これ以外にも、LC_、SIG_などのプレフィックスがいくつかあ

  17. C ++またはJavaでのオブジェクトスライスとは何ですか?

    オブジェクトスライスは、派生クラスのオブジェクトを基本クラスのインスタンスに割り当てるときの状況を説明するために使用されます。これにより、派生クラスオブジェクトのメソッドとメンバー変数が失われます。これは、情報が切り取られることと呼ばれます。たとえば、 class Foo { int a; }; class Bar : public Foo { int b; }; BarはFooを拡張するため、aとbの2つのメンバー変数があります。したがって、タイプBarの変数バーを作成してからタイプFooの変数を作成し、バーを割り当てると、プロセスでメンバー変数bが失われます。たとえ

  18. C /C++文字列の単語を反復する最もエレガントな方法

    C /C++文字列の単語を反復するエレガントな方法はありません。最も読みやすい方法は、一部の人にとっては最もエレガントであり、他の人にとっては最もパフォーマンスが高いと言えます。これを実現するために使用できる2つの方法をリストしました。最初の方法は、文字列ストリームを使用して、スペースで区切られた単語を読み取ることです。これは少し制限されていますが、適切なチェックを提供すれば、タスクはかなりうまくいきます。 例 #include <vector> #include <string> #include <sstream> using namespace st

  19. Linuxで実行されているC++コードをプロファイリングするにはどうすればよいですか?

    LinuxでC++プログラムをプロファイリングするための優れたプロファイリングツールはたくさんあります。最も広く使用されているツールはValgrindです。これは、メモリデバッグ、メモリリーク検出、およびプロファイリングのためのプログラミングツールです。 valgrindにバイナリを渡し、ツールをcallgrindに設定することで、valgrindを使用できます。まず、プログラムをコンパイルしてバイナリを生成します- $ g++ -o hello.cpp hello Now use valgrind to profile it: $ valgrind --tool=callgrind ./he

  20. C ++のコピーアンドスワップイディオムとは何ですか?

    割り当ては、オブジェクトの古い状態を破棄し、新しい状態を構築するという2つのステップで構成されます。デストラクタは最初のステップに使用され、コピーコンストラクタは2番目のステップを実行します。これらの両方を実装するのは簡単です。ただし、代入演算子をオーバーロードすると、実装が非常に難しくなる可能性があります。コピーとスワップのイディオムは同じソリューションです。 このイディオムは、コピーコンストラクターを使用してデータのローカルコピーを作成します。次に、スワップ機能を使用して古いデータを新しいデータとスワップします。次に、デストラクタを使用して一時コピーが破棄されます。最終的に、新しいデータ

Total 5992 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:10/300  20-コンピューター/Page Goto:1 4 5 6 7 8 9 10 11 12 13 14 15 16