int 초기화 문법...
글쓴이: icanfly / 작성시간: 수, 2004/08/11 - 2:52오후
int a = 40; int copy(a); cout << a;
위와 같은 코드가 가능하고 정상 작동하더군요. 마치 사용자 정의 객체처럼
복사생성자에 의해서 값이 초기화 되어 지는듯이 int형도 가능한걸 처음알았
습니다.
C++에서도 기본자료형이 객체처럼 동작하는건가요?
파이썬같은 고급 인터프리트 언어에서나 느낄 수 있는 듯한 분위기인데..
그럼..int copy(a); 와 int copy = a; 의 차이점은 무엇인가요?
그럼...
아..함수의 초기화 목록하고 관계있을지도 모르겠군요.
int func1 () : a(0), b(3) {;}
이런거 말이죠...
Forums:
Re: int 초기화 문법...
적어도 개념적으로는 그렇습니다. 클래스형이 내장형과 같은 식으로
동작하도록 만들기 위해 고심한 결과죠.
의미상의 차이점은 없습니다.
그리고 다음과 같은 초기화도 가능합니다.
int i = int();
int j( (int()) ); // i, j는 0으로 초기화됨
기묘하게 보이기는 하지만 클래스의 디폴트 생성자/복사 생성자와 비교하면
그 의미가 이해되실 겁니다.
댓글 달기