비공개

[C++11] auto Keyword

닭꽝 2012. 4. 16. 17:57


auto arrData[10]; // compile error! Array에 사용 불가! auto a; // compile error! 정의시 초기화 필요! // #1 auto b = 10; // Ok auto c = "auto 키워드 Test String"; // Ok // #2 auto d = 20; d = "auto 키워드 int->String 대입"; // compile error! 컴파일 시점에 데이터 타입 결정! // #3 auto e = 30; e = 40; // OK // #4 auto f = 40; f = 40.1; // OK(warning). double -> int. 데이터 손실. f = -1; // OK. 기본적으로 Signed로 생성 // #5 auto g = new auto(10); // OK. delete g; // Runtime Error. 자동으로 메모리 해제 // #6 auto h = new auto[10]; // compile error! Array에 사용 불가! // #7 auto i[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; // compile error! Array에 사용 불가! // #8 auto j = 50; auto k = &j; // OK. 포인터 형태 가능. // #9 int data[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; auto l = data; // OK. 배열 원소의 포인터 자료형으로 생성 l[1] = 99; // OK. auto m = &data[2]; // OK. m[3] = 99; // OK.


- 인스턴스 시점에 초기화 필요. 메모리 공간 확보에 필요.

- 배열 인스턴스에 사용 불가.

- 한번 결정된 데이터 타입은 변경되지 않는다.

- delete 키워드 사용시 RunTime Error 를 발생시킨다.