if, switch 문에서 초기화


if, switch 문에서 초기화

지역 변수의 경우 스택 메모리에 저장되며 선언된 중괄호 내에서만 존재하며 중괄호가 끝나면 소멸된다. #include <iostream> int main() { { int a = 1; std::cout << a; // 1 } std::cout << a; // compile error } 간단한 예시를 보면 중괄호 내에서 a를 선언하면 중괄호 밖에서는 컴파일 에러가 뜬다. 지역 변수의 경우 쓰지 않는 범위 내에서 메모리가 낭비되기 때문에 이를 효율적으로 사용하기 위해 C++ 17부터 if, switch 문에서 초기화를 할 수 있는데 아래 적용 전 후 예시를 보자. if문 초기화 적용 전 #include <iostream> #include <vector> int main() { std::vector<int> v{ 1, 2, 3 }; auto find = std::find(v.begin(), v.end(), 1); if (find != v.end()) { std::cout << *find ...


#C #CPP #if #init #initialize #STL #switch

원문링크 : if, switch 문에서 초기화