ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • const의 위치에 따른 이야기..
    @ 16. 1 ~ 17. 1/C++ 2013. 2. 23. 21:12

    일반 변수형..

    cont int a=10;

    int const a=10;

    같다. 똑같다 그냥..

    그런데.. 포인터형을 가지고 있을때..

    int* const ptr; ---- (1)

    const int* ptr; ---- (2)

    이 두개는 비슷해보여도..틀리다.

     

    우선 1번은..자료형보다 앞에 있으니까..int* const // const가 자료형보다 뒤에 있으니까..(우측기준..)

    이건 ptr이 해당 주소를 변경하지 못한다는 이야기임..주소가 상수

    즉, int* const ptr=&a; 일때

    ptr=&b; 가 안된다는 것이다.

    물론..*ptr=값 이런식으로 해당주소의 값은 변경이 가능하다.

    그리고 이것은 초기화가 필요하다. int* const ptr; 이런식이면 에러..int* const ptr=&a; 이런식이 되야함..

     

    다음 2번은 자료형보다 앞에 있으니까..자료형을 상수화 자료를 상수화..?!

    해당주소의 정수를 상수화 한다.

    즉, *ptr=값 이런식으로 안된다는 것이다.

    물론..ptr=&b; 는 가능하다!..

    이건 초기화 필요없음..

     

    '@ 16. 1 ~ 17. 1 > C++' 카테고리의 다른 글

    2차원 동적배열 생성, 초기화, 복사  (0) 2013.02.24
    operator +, operator - friend를 이용  (0) 2013.02.24
    배열 포인터, 포인터 배열  (0) 2013.02.22
    달력만들기  (0) 2013.02.20
    369숫자를 찾아 *로 표시하기  (0) 2013.02.18
Designed by Tistory.