Page 24 -
P. 24

1.2.4.2 지역 정의                                                                     1

                        지역 변수는 함수 안에서 선언한다. 지역 변수의 가시성/가용성은 함수 선언부의 { }로 둘러싸인                             C+  + 기초
                        블록으로 제한한다.

                        만약 main 함수에서 π를 정의하면,

                        int main ()
                        {
                            const double pi = 3.14159265358979323846264338327950288419716939;
                            std::cout << "pi is " << pi << ".\n";
                        }

                        변수 π는 main 함수에서만 존재한다. 우리는 함수나 블록 안에 또 다른 블록을 정의할 수 있다.

                        int main ()
                        {
                            {
                                const double pi = 3.14159265358979323846264338327950288419716939;
                            }
                            std::cout << "pi is " << pi << ".\n"; // 오류: pi는 범위 밖에 있다.
                        }

                        이 예제에서 π의 정의는 함수 안에 있는 블록으로 제한한다. 따라서 함수의 나머지 부분에서 π를
                        출력하려고 하면 오류가 발생할 것이다.


                        >>pi<< is not defined in this scope.


                        왜냐하면 범위 밖에 있기(Out of Scope) 때문이다.



                        1.2.4.3 숨기기

                        같은 이름의 변수가 중첩된 범위에 있으면 오직 하나의 변수만 볼 수 있다. 안쪽 범위에 있는 변수
                        는 바깥쪽 범위에 있는, 이름이 같은 변수를 숨긴다. 예를 들어,


                        int main ()
                        {
                            int a = 5;       // a#1을 정의한다.
                            {






                                                                                                      035




         모던c++_09.indd   35                                                                     2017-12-11   오전 11:02:55
   19   20   21   22   23   24   25