C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

インライン変数はC++/ C ++ 17でどのように機能しますか?


C ++では、関数にinlineキーワードを使用できます。 C ++ 17バージョンでは、インライン変数の概念が導入されました。

インライン変数は、複数の変換単位で定義できます。また、単一定義規則に従います。これが複数回定義されている場合、コンパイラはそれらすべてを最終プログラムの1つのオブジェクトにマージします。

C ++(C ++ 17バージョンより前)では、静的変数の値をクラスで直接初期化することはできません。クラスの外でそれらを定義する必要があります。

サンプルコード

#include<iostream>
using namespace std;
class MyClass {
   public:
      MyClass() {
         ++num;
      }
      ~MyClass() {
         --num;
      }
      static int num;
};
int MyClass::num = 10;
int main() {
   cout<<"The static value is: " << MyClass::num;
}

出力

The static value is: 10
In C++17, we can initialize the static variables inside the class using inline variables.

サンプルコード

#include<iostream>
using namespace std;
class MyClass {
   public:
      MyClass() {
         ++num;
      }
      ~MyClass() {
         --num;
      }
      inline static int num = 10;
};
int main() {
   cout<<"The static value is: " << MyClass::num;
}

出力

The static value is: 10

  1. android studioの静的変数をどこでどのように使用しますか?

    この例は、AndroidStudioで静的変数を使用する方法と場所について示しています。 ステップ1 − Android Studioで新しいプロジェクトを作成し、[ファイル]⇒[新しいプロジェクト]に移動して、新しいプロジェクトを作成するために必要なすべての詳細を入力します ステップ2 −次のコードをres / layout/activity_main.xmlに追加します。 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http:/

  2. C++で例外はどのように機能しますか

    C ++では、例外処理はランタイムエラーを処理するプロセスです。例外は、C++で実行時にスローされるイベントです。すべての例外は、std::exceptionクラスから派生します。処理可能なランタイムエラーです。例外を処理しない場合は、例外メッセージを出力してプログラムを終了します。 例外は、C ++標準では、プログラム内で使用できるクラスとして定義されています。親子クラス階層の配置を以下に示します- C++の一般的な例外クラスは-です。 Sr.No。 例外と説明 1 std ::exception これは、すべての標準C++例外の例外および親クラスです。