→ 지수 표기 +5.37E+16
0.000E+N 형식은 소수점을 오른쪽으로 N자리만큼 이동하는 것이고 0.000E-N은 소수점을 왼쪽으로 N자리만큼 이동하는 것이다. |
→ enum ┌> 열거형의 변수 선언할 때 사용됨. enum spectrum { red, orange, yellow, green, blue }; ------------------------------ └> 열거자들
Ex) spectrum band; └> spectrum형 열거형 변수는 이미 선언된 값만 대입 가능하다. 선언 후 값을 대입하지 않으면 Error를 발생한다. band = yellow; // true band = 100; // false (열거자가 아니므로 실패)
→ 열거자가 아닌 값을 대입하고 싶다면? band = spectrum(100); |
→ new 메모리 할당 [typename] * [pointer_name] = new [typename];
Ex) int *pn = new int; -------- └> int형 데이터를 저장할 새로운 메모리가 필요하다고 프로그램에 알린다.(heap memory)
* 컴퓨터의 메모리가 부족하여 new의 메모리 할당 요청을 허용할 수 없는 경우 new는 0값을 리턴한다. ---------- NULL pointer
delete pn; //메모리 해제 (해제하지 않으면 메모리 누수 발생)
* new를 사용하여 메모리를 할당 후 메모리 해제가 필요한 경우 delete를 사용한다. 메모리 해제가 필요한 경우는 사용할 데이터가 필요가 없는 경우일 뿐이다. |
→ 정적 바인딩 (static binding) 사용이 되든 안되는 항상 메모리를 차지하는 방식 (Ex : 배열)
→ 동적 바인딩 (dynamic binding) new를 사용하면 배열을 실행 시간에 생성할 수 있고 필요 없으면 생성하지 않을 수 있다. 또는 프로그래미을 실행하는 동안에 배열의 크기를 결정할 수 있다.
int *psome = new int[10]; // new를 사용한 동적 배열 생성 예제 delete[] psome; //동적 배열 해제.
|
'Languages > cplusplus' 카테고리의 다른 글
[MFC] Dialog Box 위치 변경 (0) | 2012.11.26 |
---|---|
포인터 / 포인터와 const / 다차원 배열 (0) | 2012.10.15 |
데이터 형변환 (0) | 2012.09.26 |
32bit 자료형 / 64bit 자료형의 크기 정리 (0) | 2012.09.26 |
셔플을 생각하고 구현해 보기 (0) | 2012.09.18 |