반응형
C++ 17에 if 문에서 초기화가 가능한 문법이 생겼다.
if (int b = 10; b == 10)
{
}
User* user = GetUser();
if (user == nullptr || user->id == 0)
return;
User* user2 = nullptr;
if (User* user = GetUser(); user == nullptr || user->id == 0)
{
}
user라는 변수명은 이미 사용 했음.
if문에서 초기화를 해서 회피가능.
이 외에도 switch 문에서도 똑같이 사용이 가능하다.
//Switch with Initalizer
switch (int b = 3; b)
{
case 2:
break;
case 3:
cout << "작동함!" << endl;
break;
}
이런 식으로 Range-Based for 문에서도 사용이 가능하도록 c++20에서 추가가 되었다.
//Range-Based for
for (vector<int> vec{1, 2, 3}; auto v : vec)
{
cout << v << endl;
}
반응형
'C++' 카테고리의 다른 글
C++ 20 : std::Span (0) | 2024.05.27 |
---|---|
C++ 20 : using enum in Local Scopes (0) | 2024.05.21 |
C++ 20 : Attributes (0) | 2024.05.21 |
C++ 20 : Template Parameter for Lambda (0) | 2024.05.19 |
C++ 20 : Non-Type Template Parameter (0) | 2024.05.19 |