' [C/C++] C++17 `if` statement with initialization. 유용한 if문 조건 편하게 쓰는 법

Programming/C & C++

[C/C++] C++17 `if` statement with initialization. 유용한 if문 조건 편하게 쓰는 법

mdisprgm 2024. 1. 18. 02:14
728x90

PowerToys 사용 중 한국어 오타를 발견하고 Github 레포지토리에 이슈를 등록했다.

심심해서 소스코드를 아무거나 열어봤는데 눈에 띄는 부분을 발견했다.

github.com/microsoft/PowerToys

if 안에 변수 선언이 들어간 코드를 봤다.

궁금해서 찾아보았더니 저렇게 쓰는 건 원래 가능했고

`;` 으로 초기화식이랑 조건식을 동시에 넣을 수 있는 기능을 C++17에서부터 지원한다고 한다.

#include <iostream>

int inputNum() {
	int n;
    std::cin >> n;
    return n;
}

int main() {
	if (int n = inputNum(); n > 5) {
		std::cout << "n is greater than 5" << std::endl;
	} else if (n == 5) {
		std::cout << "n equals to 5" << std::endl;
	} else {
		std::cout << "n is less than 5" << std::endl;
	}
}

 

 

C++은 정말 뭐가 많다.. if에 이런 기능도 있었네.

cppreference.com

몰라도 코드 짜는 데 문제는 없지만

안 다면 아는 척하면서 간지나는 C++ 코드를 쓸 수 있을 듯.

 

언제 한번 다 정리해봐야겠다.

 

728x90

'