프로그램/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)
{
}
}
반응형