マルチスレッドは、マルチタスクの特殊な形式であり、マルチタスクは、コンピューターで 2 つ以上のプログラムを同時に実行できるようにする機能です。一般に、マルチタスクにはプロセスベースとスレッドベースの 2 種類があります。 プロセスベースのマルチタスキングは、プログラムの同時実行を処理します。スレッドベースのマルチタスキングは、同じプログラムの断片の同時実行を処理します。 マルチスレッド プログラムには、同時に実行できる 2 つ以上の部分が含まれます。このようなプログラムの各部分はスレッドと呼ばれ、各スレッドは個別の実行パスを定義します。 C++ には、マルチスレッド アプリケーションの
シグナルは、プログラムを途中で終了させる可能性があるオペレーティング システムによってプロセスに配信される割り込みです。 UNIX、LINUX、Mac OS X、または Windows システムで Ctrl+C を押すと、割り込みを生成できます。 プログラムでキャッチできないシグナルがありますが、プログラムでキャッチでき、シグナルに基づいて適切なアクションを実行できるシグナルの次のリストがあります。これらのシグナルは、C++ ヘッダー ファイル で定義されています。 Sr.No 信号と説明 1 SIGABRT abort の呼び出しなど、プログラムの異常終了 . 2 SI
プリプロセッサはディレクティブであり、実際のコンパイルが開始される前に情報を前処理するようコンパイラに指示します。 すべてのプリプロセッサ ディレクティブは # で始まり、空白文字のみが行のプリプロセッサ ディレクティブの前に表示されます。プリプロセッサ ディレクティブは C++ ステートメントではないため、セミコロン (;) で終わりません。 #include は既に見ました すべての例でディレクティブ。このマクロは、ヘッダー ファイルをソース ファイルに含めるために使用されます。 #include、#define、#if、#else、#line など、C++ でサポートされている多数
テンプレートは、特定の型に依存しない方法でコードを記述することを含む汎用プログラミングの基礎です。 テンプレートは、ジェネリック クラスまたは関数を作成するための青写真または数式です。イテレータやアルゴリズムなどのライブラリ コンテナは、汎用プログラミングの例であり、テンプレートの概念を使用して開発されています。 vector など、各コンテナの単一の定義があります。 ですが、たとえば vector のようにさまざまな種類のベクトルを定義できます。 または vector . テンプレートを使用して関数とクラスを定義できます。それらがどのように機能するかを見てみましょう − 関数テンプ
同じクラスに同じ名前のザラが 2 人いる場合を考えてみましょう。それらを明確に区別する必要があるときはいつでも、地域、別の地域に住んでいる場合、母親または父親の名前など、名前とともにいくつかの追加情報を使用する必要があります. C++ アプリケーションでも同じ状況が発生する可能性があります。たとえば、xyz() という関数を持つコードを書いていて、同じ関数 xyz() を持つ別のライブラリが利用可能であるとします。現在、コンパイラは、コード内で参照している xyz() 関数のバージョンを知る方法がありません。 名前空間 この問題を克服するように設計されており、異なるライブラリで利用可能な同
C++ で動的メモリが実際にどのように機能するかを十分に理解することは、優れた C++ プログラマーになるために不可欠です。 C++ プログラムのメモリは 2 つの部分に分かれています − スタック − 関数内で宣言されたすべての変数は、スタックからメモリを占有します。 ヒープ − これはプログラムの未使用メモリであり、プログラムの実行時にメモリを動的に割り当てるために使用できます。 多くの場合、定義済みの変数に特定の情報を格納するために必要なメモリの量を事前に認識していません。また、必要なメモリのサイズは実行時に決定できます。 割り当てられたスペースのアドレスを返す C+
例外は、プログラムの実行中に発生する問題です。 C++ 例外は、ゼロ除算など、プログラムの実行中に発生する例外的な状況への応答です。 例外は、プログラムのある部分から別の部分に制御を移す方法を提供します。 C++ の例外処理は、try、catch、 の 3 つのキーワードに基づいて構築されています。 そして投げる . 投げる − 問題が発生すると、プログラムは例外をスローします。これはスローを使用して行われます キーワード。 キャッチ − プログラムは、問題を処理したいプログラム内の場所で、例外ハンドラーを使用して例外をキャッチします。 キャッチ キーワードは、例外のキャッチを示
これまで、iostream を使用してきました cin を提供する標準ライブラリ そしてカウト それぞれ、標準入力からの読み取りと標準出力への書き込みのメソッド。 このチュートリアルでは、ファイルの読み取りと書き込みの方法を説明します。これには、fstream という別の標準 C++ ライブラリが必要です 、3 つの新しいデータ型を定義します − Sr.No データの種類と説明 1 ストリーム このデータ型は出力ファイル ストリームを表し、ファイルの作成とファイルへの情報の書き込みに使用されます。 2 ifstream このデータ型は入力ファイル ストリームを表し、
インターフェイスは、そのクラスの特定の実装にコミットすることなく、C++ クラスの動作または機能を記述します。 C++ インターフェイスは、抽象クラスを使用して実装されています また、これらの抽象クラスを、実装の詳細を関連データから分離しておくという概念であるデータ抽象化と混同しないでください。 クラスは、その関数の少なくとも 1 つを 純粋仮想 として宣言することによって抽象化されます 関数。純粋仮想関数は、次のように宣言に「=0」を配置することによって指定されます- class Box { public: // pure virtual function
すべての C++ プログラムは、次の 2 つの基本要素で構成されています − プログラム ステートメント (コード) − これは、アクションを実行するプログラムの一部であり、関数と呼ばれます。 番組データ − データは、プログラムの機能によって影響を受けるプログラムの情報です。 カプセル化はオブジェクト指向プログラミングの概念であり、データとデータを操作する関数を結合し、外部の干渉や誤用から両方を保護します。データのカプセル化により、データ隠蔽という重要な OOP 概念が生まれました . データのカプセル化 データをバンドルするメカニズム、それらを使用する関数、およびデータ
データの抽象化とは、重要な情報のみを外部に提供し、その背景の詳細を隠すこと、つまり、詳細を提示せずに必要な情報をプログラムで表すことを指します。 データの抽象化は、インターフェイスと実装の分離に依存するプログラミング (および設計) 手法です。 テレビの実際の例を 1 つ取り上げてみましょう。テレビは、オンとオフを切り替えたり、チャンネルを変更したり、音量を調整したり、スピーカー、VCR、DVD プレーヤーなどの外部コンポーネントを追加したりできますが、内部の詳細はわかりません。つまり、無線またはケーブルを介してどのように信号を受信し、どのように変換し、最終的に画面に表示するかがわから
ポリモーフィズムという言葉 形が多いという意味です。通常、ポリモーフィズムは、クラスの階層があり、それらが継承によって関連付けられている場合に発生します。 C++ ポリモーフィズムとは、メンバー関数を呼び出すと、その関数を呼び出すオブジェクトのタイプに応じて、異なる関数が実行されることを意味します。 基本クラスが他の 2 つのクラスによって派生された次の例を検討してください - ライブデモ #include <iostream> using namespace std; class Shape { protected: int width, heigh
C++ では、関数に複数の定義を指定できます 名前またはオペレーター 関数のオーバーロードと呼ばれる同じスコープ内 および演算子のオーバーロード オーバーロードされた宣言は、同じスコープ内で以前に宣言された宣言と同じ名前で宣言された宣言ですが、両方の宣言が異なる引数を持ち、明らかに異なる定義 (実装) を持っていることを除きます。 オーバーロードされた関数を呼び出すとき またはオペレーター の場合、コンパイラは、関数または演算子の呼び出しに使用した引数の型と、定義で指定されたパラメーターの型を比較して、使用するのに最適な定義を決定します。最も適切なオーバーロードされた関数または演算子を選
C/C++ 配列を使用すると、同じ種類の複数のデータ項目を組み合わせた変数を定義できますが、構造 は、異なる種類のデータ項目を組み合わせることができる別のユーザー定義データ型です。 構造体はレコードを表すために使用されます。たとえば、図書館で自分の本を追跡したいとします。各本について次の属性を追跡することをお勧めします − タイトル 著者 件名 書籍 ID 構造の定義 構造体を定義するには、struct ステートメントを使用する必要があります。 struct ステートメントは、プログラム用に複数のメンバーを持つ新しいデータ型を定義します。 struct文のフォーマットはこれです −
C++ 標準ライブラリは、適切な日付型を提供していません。 C++ は、日付と時刻を操作するための構造体と関数を C から継承します。日付と時刻に関連する関数と構造体にアクセスするには、C++ プログラムに ヘッダー ファイルを含める必要があります。 時間に関連する型は 4 つあります:clock_t、time_t、size_t 、および tm .タイプ - clock_t、size_t、および time_t は、システムの時刻と日付をある種の整数として表すことができます。 構造体型 tm 次の要素を持つC構造体の形式で日付と時刻を保持します- struct tm { int t
参照変数はエイリアス、つまり、既存の変数の別の名前です。参照が変数で初期化されると、変数名または参照名を使用して変数を参照できます。 参照とポインタ 参照はポインターと混同されることがよくありますが、参照とポインターの主な違いは次の 3 つです。 NULL 参照を持つことはできません。参照が正当なストレージに接続されていることを常に想定できる必要があります。 オブジェクトへの参照が初期化されると、別のオブジェクトを参照するように変更することはできません。ポインターはいつでも別のオブジェクトを指すことができます。 参照は作成時に初期化する必要があります。ポインタはいつでも初期
C++ は、次の 2 種類の文字列表現を提供します − C スタイルの文字列 標準 C++ で導入された文字列クラス タイプ。 C スタイルの文字列 C スタイルの文字列は C 言語で生まれ、C++ でも引き続きサポートされています。この文字列は、実際には null で終わる文字の 1 次元配列です。 文字 \0。したがって、null で終わる文字列には、文字列を構成する文字とそれに続く null が含まれます。 . 次の宣言と初期化により、「Hello」という単語からなる文字列が作成されます。配列の最後にヌル文字を保持するために、文字列を含む文字配列のサイズは、単語「Hello」の文
通常、数値を扱うときは、int、short、long、float、double などのプリミティブ データ型を使用します。数値データ型、可能な値、および数値範囲については、C++ データ型の説明で説明しました。 C++ での数値の定義 前の章で示したさまざまな例で、すでに数を定義しています。 C++ でさまざまなタイプの数値を定義する別の統合された例を次に示します − ライブデモ #include <iostream> using namespace std; int main () { // number definition: short s; in
意思決定構造では、条件が真であると判断された場合に実行されるステートメント (複数可) とともに、プログラムによって評価またはテストされる 1 つ以上の条件をプログラマーが指定する必要があります。は偽であると判断されます。 以下は、ほとんどのプログラミング言語に見られる典型的な意思決定構造の一般的な形式です- C++ プログラミング言語は、次のタイプの意思決定ステートメントを提供します。 Sr.No 声明と説明 1 if ステートメント 「if」ステートメントは、ブール式とそれに続く 1 つ以上のステートメントで構成されます。 2 if...else ステートメント 「if」ス
コードのブロックを数回実行する必要がある場合があります。一般に、ステートメントは順番に実行されます。関数内の最初のステートメントが最初に実行され、次に 2 番目のステートメントが実行されます。 プログラミング言語は、より複雑な実行パスを可能にするさまざまな制御構造を提供します。 ループステートメントを使用すると、ステートメントまたはステートメントのグループを複数回実行できます。以下は、ほとんどのプログラミング言語でのループステートメントの一般的なフォームです- C++ プログラミング言語は、ループ要件を処理するために次のタイプのループを提供します。 Sr.No ループの種類と説明 1
C言語