[개념] Chapter 4.1 지역 변수의 범위와 지속기간
카테고리: Cpp
태그: Cpp
”{ }” : 블록
#include <iostream>
int main(){
using namespace std;
int apple = 5;
cout << apple << endl; // 5
{
apple = 1; // 위의 apple과 같은 apple
cout << apple << endl; // 1
}
cout << apple << endl; // 1
}
#include <iostream>
int main(){
using namespace std;
int apple = 5;
cout << apple << endl; // 5
{
int apple = 1; // 위의 apple과 다른 apple
// 이 scope안에서만 살아남을 수 있다.
cout << apple << endl; // 1
}
cout << apple << endl; // 5
}
이름이 같은 경우 같은 블럭안에
- 최소한의 범위를 갖게 가급적 변수가 살아남는 범위를 줄이려고 함
함수는 선언과 정의를 분리할 수 있다. 선언은 여러 곳에 나올 수 있지만, 정의는 한 곳에만 나와야 함
#include <iostream>
namespace work1{
int a = 1;
void doSomething(){
a += 3;
}
}
namespace work2{
int a = 1;
void doSomething(){
a += 5;
}
}
int main(){
using namespace std;
work1::a;
work1::doSomething();
work2::a;
work2::doSomething();
return 0;
}
- :: : 영역(범위) 결정 연산자 (scope resolution operator)
C++17 부터 nested namespace 사용 가능
namespace work1::work11::work111{
doSomething();
}
int main(){
using namespace std;
work1::work11::work111::doSomething();
}
댓글남기기