5-2。論理式および短絡問題

  1. そして:&&(約2式は唯一の真のために真です)

  2. または:||(約2式の少なくとも一つが唯一の真のために真です)

  3. 非:! (否定する、本当に相当の偽DOのために偽の、非動作非動作させる真です)

  4. int m = 20;
      	int n = 30;
      
      	if (m == 20 && n == 30)
      	{
      		cout << "m == 10 , n == 30" << endl;
      	}
      	if (m == 20 || n == 40)
      	{
      		cout << "两个表达式至少一个为真" << endl;
      	}
      	if (!(m < 20))
      	{
      		cout << "!(m < 20)" << endl;
      	}
      	/*结果:
      
      	m == 10 , n == 30
      	两个表达式至少一个为真
      	!(m < 20)
      	*/
    
  5. 短絡問題

  • 主に、論理と論理またはのために
  • 論理と&&の場合:最初の式が検出された場合はfalseで、その式の残りの部分はチェックされません。
  • 論理的または||の場合:検出された最初の式が真である場合、その式の残りの部分はチェックしません。
  1. クラスの機能が初期化されているかどうかを判断する短絡問題で、それが空であります

    MyClass *myClass;
    ...
    //myClass.process()
    if(myClass != NULL && myClass.process())
    {
        ...
    }
    

公開された56元の記事 ウォン称賛51 ビュー6513

おすすめ

転載: blog.csdn.net/qq_43367829/article/details/105423007