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

C++17の初期化子を使用したElseおよびSwitchステートメント


多くの場合、関数によって返されるものの値を検証し、この値に基づいて条件付き操作を実行する必要があります。したがって、コードを以下に示します-

// Some method or function
return_type foo(Params)
// Call function with Params and
// store return in var1
auto var1 = foo(Params);
if (var1 == /* some value */) {
   //Perform Something
} else {
   //Perform Something else
}

すべての条件付きif-elseブロックの一般的な形式に従うだけです。最初に、変数を設定するオプションの初期ステートメントがあり、その後にif-elseブロックが続きます。したがって、一般的なif-elseブロックは次のように与えられます-

init-statement
if (condition) {
   // Perform or Do Something
} else {
   // Perform or Do Something else
}

C ++ 17では、initステートメントは初期化子として示されるか呼び出され、次のようにif-elseブロックに直接保持できます

if (init-statement; condition) {
   // Perform Something
} else {
   // Perform Something else
}

条件付き変数のスコープは、現在のif-elseブロックに限定または制限されます。これにより、同じ名前の識別子を別の条件付きブロックで再利用することもできます。

if (auto var1 = foo(); condition) {
   ...
}
else{
   ...
}
// Another if-else block
if (auto var1 = bar(); condition) {
   ....
}
else {
....
}

同様のケースで、switchcaseブロックが変更または更新されています。これで、スイッチの括弧内に初期式を保持できます。

最初のステートメントの後で、ケースをチェックするために実装されている変数を指定する必要があります

switch (initial-statement; variable) {
   ....
   // cases
}

完全なプログラム

// Program to explain or demonstrate init if-else
// feature introduced in C++17
#include <iostream>
#include <cstdlib>
using namespace std;
int main() {
   // Fix or set up rand function to be implemented
   // later in program
   srand(time(NULL));
   // Before C++17
   int I = 2;
   if ( I % 2 == 0)
   cout << I << " is even number" << endl;
   // After C++17
   // if(init-statement; condition)
   if (int I = 4; I % 2 == 0 )
   cout<< I << " is even number" << endl;
   // Switch statement
   // switch(init;variable)
   switch (int I = rand() % 100; I) {
      default:
      cout<< "I = " << I << endl; break;
   }
}


  1. JavaScriptの条件文

    JavaScriptには3種類の条件文があります- ステートメントの場合 − ifステートメントは、特定の条件が満たされた場合にのみ、ifブロック内のコードを実行するために使用されます。 Ifelseステートメント − If….Elseステートメントは、2つの条件のみをチェックし、それぞれに対して異なるコードを実行するために使用されます。 if elseifelseステートメント −if…elseif…elseステートメントは、3つ以上の条件をチェックするために使用されます。 以下は、JavaScriptで条件文を実装するためのコードです- 例 <!DOCTYPE html&

  2. CSSとJavaScriptでダークモードとライトモードを切り替える方法は?

    JavaScriptでダークモードとライトモードを切り替えるには、コードは次のとおりです- 例 <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style>    body {       padding: 25px;       background-color