C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[60106] Re:define 과 const 의 차이가 뭐죠?
Nibble [gameover] 2098 읽음    2010-02-02 00:09
크게 const는 #define에 대해 두 가지 의미가 있습니다.
1. 타잎을 가지므로 보다 표현 범위와 구조에 대해 명확하게 됩니다.
    심지어 class일 수도 있습니다. (당연하잖아)
2. const에는 메모리가 할당됩니다. 컴파일러로 하여금 그 영역에 덮어쓰는 작업을 막도록 감시하게 해 줄 뿐이지
    주소를 직접 건드리면 const의 값 마져 변경시킬 수 있습니다.

#define 문에 의한 상수선언은 #define 문의 극히 일부에 해당합니다. 엄밀히 상수를 표현하는데 적합하지 않습니다.
코딩의 편의를 주는데 초점을 두고 있기 때문이거든요.

const 는 그에 반해 일반 변수와 생성 및 동작 메카니즘이 같습니다. 컴파일러가 접근을 감독하느냐의 차이 뿐이죠.
초기의 C언어는 const가 없었기 때문에 #define을 이용해 상수를 표현하곤 했다고 알고 있습니다.
그 역할적 부족함을 채우기 위해 등장한 것이죠.

한수동 님이 쓰신 글 :
: define 은 컴파일 시에 해당 상수를 일일이 제가 지정했던 값으로 변환 해준 후에 컴파일 한다는 것은 알겠습니다..
:
: 근데 왜 도대체 const가 필요한지는 모르겠습니다..
:
: 단지 빌더에서 지원하는 자동 완성 기능때문 이라는 것은 아닌 것 같구요...
:
: 궁금합니다...

+ -

관련 글 리스트
60102 define 과 const 의 차이가 뭐죠? 한수동 1083 2010/02/01
60106     Re:define 과 const 의 차이가 뭐죠? Nibble 2098 2010/02/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.