닭꽝
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 를 발생시킨다.