전문가를 위한 C++

 

C++ 17에서 추가된 기능으로 if 문 안에서  이니셜라이저 (초기자)를 넣는 기능이 추가됐다고 한다.

간단하게 설명하면 if 문안에서 변수를 정의하고 그것을 바로 조건문에서 사용할 수 있는 것인데 이곳저곳에 쓸 일이 많을 거 같아 적었다.

if ( <이니셜라이저>; <조건문>) { <본문> }

문법은 위와 같고 이니셜라이저에서 정의한 변수는 <조건문>과 <본문> 안에서만 사용할 수 있다.

 

+ switch 문에서도 이니셜라이저를 지원한다. 문법은 아래와 같고 if 문에서와 마찬가지로 <조건문>과 <본문> 안에서만 사용할 수 있다.

switch (<이니셜라이저>; <표현식>) { <본문> }

 


예시)

int main()
{
	int i = 10;

	// if 문 이니셜라이저
	if (int test = i; test > 0)
		cout << "Wha!";
    
	// switch 문 이니셜라이저
	switch (int test = i + 20; test)
	{
	case 10:
		cout << "i 인가?";
		break;

	case 30:
		cout << "test 인가?";
		break;

	default:
		break;
	}
}

 

'개발 > C++' 카테고리의 다른 글

구조적 바인딩  (0) 2022.08.20

+ Recent posts