Brise

[C++ 기본] 9. 제어문 본문

프로그램/C,C++

[C++ 기본] 9. 제어문

naudhizb 2022. 1. 29. 21:57
반응형

C언어를 사용하다보면 알게되지만, 제어문의 guard condition에 사용하는 변수는 필연적으로 해당 제어문의 scope가 아닌 제어문 바깥의 scope에 따른다.
최근의 C++17 표준에서는 제어문의 condition에 변수를 선언하여 제어문의 condition이 제어문의 안쪽에서만 사용할 수 있도록 제어문의 condition에 여러 명령을 실행할 수 있도록 하고 있다.
하지만, 가독성이 낮아질 수도 있으니, 상황에 따라 맞게 활용하여야 할 것 같다.

// 9_제어문
#include <iostream>
// 39 page.. 
int foo()
{
   return 0;
}
int main()
{
   switch (int n = foo(); n )
   {
   case 0: break;
   case 1: break;
   }
   // init control statement
   // 초기화 구문을 가진 제어문
   // C++17문법 - /std:c++latest 필요
   if ( int ret = foo(); ret == 0 )
   {
       //printf("%d\n", ret);
   }

   int ret = foo();
   if ( ret == 0)
   { 
   }
}
반응형

'프로그램 > C,C++' 카테고리의 다른 글

[C++ 기본 2] 1. reference  (0) 2022.01.29
[C++ 기본] 11. nullptr  (0) 2022.01.29
[C++ 기본] 10. Casting  (0) 2022.01.29
[C++ 기본] 8. 반복문  (0) 2022.01.29
[C++ 기본] 7. template function  (0) 2022.01.16
[C++ 기본] 6. Function  (0) 2022.01.15
[C++ 기본] 5. constexpr  (0) 2022.01.15
Comments