티스토리 뷰
1. 요소의 개수가 변화하는 자료 구조는 왜 필요한가?
요소를 추가하는 것이 불가능해서
2. 일반적인 프로그램에서 사용하는 저장 영역의 종류는 무엇이 있는가?
code(컴파일 할 프로그램)/stack(지역변수)/heap(자유영역)/data(정적)
4. 역참조 연산자는 무엇이며, 왜 필요한가
주소에 저장된 값을 가져오는 연산자.
포인터 주소의 데이터를 읽거나 쓰기 위해서 필요하다.
5. 주소는 무엇인가? C++에서는 메모리 주소를 어떻게 조작하는가?
요소의 집합을 가리키는 데이터 멤버를 이용한다. 즉, 메모리 주소를 저장하는 타입이 필요하고 이것을 포인터라고 말한다.
6. 포인터는 가리키는 객체의 정보 중 무엇을 알고 있나? 포인터가 알지 못하는 유용한 정보는 무엇인가?
모인터는 메모리 주소를 저장할 뿐, 주소의 값은 알지 못한다.
또한, 스스로가 가리키는 객체의 개수를 모른다.
7. 포인터는 무엇을 가리킬 수 있는가?
할당한 메모리의 첫 번째 바이트의 주소
8. 메모리 누수란 무엇인가?
메모리를 할당 후, 해제하지 않아서 시스템의 메모리가 고갈되는 경우를 일컫는다.
Heap 영역의 메모리를 할당 받는 경우 꼭 해제를 시켜줘야 한다.
- 할당된 메모리를 가리키는 포인터가 없는 경우(변경을 해주었다거나)
- 할당된 메모리를 리턴하였으나, 받지 않는 경우
9. 자원이란 무엇인가?
사용 후에 시스템에게 돌려줘야 하는 것을 말한다.
10. 포인터는 어떻게 초기화하는가?
기존 변수의 주소나, 메모리를 할당하고 값을 저장한 후 초기화 해도 좋다.
11. 널포인터는 무엇이며, 언제 사용하는가?
0이다. nullptr을 사용하는 것이 좋다. 초기화할 포인터 값이 없거나 유효성을 확인할 때 사용한다.
12. 어떤 경우에 참조나 명명된 객체 대신 포인터를 사용하는가?
참초를 초기화한 후에 다시 다른 객체를 가리키게 할 수 없으므로, 서로 다른 객체를 번갈아 가리켤 때 포인터를 이용하는 것이 좋다.
13. 소멸자는 무엇이며, 언제 필요한가?
객체가 유효 범위 밖으로 사라질 때, 소멸자를 암묵적으로 호출한다.
파일, 스레드, 락(자원)을 관리하는 데 유용하다.
14. virtual 소멸자는 언제 사용하는가?
virtual 함수를 포함하는 클래스에서 사용된다.
15. 멤버의 소멸자는 어떻게 호출되는가?
delete 에 의해 암묵적이고 간접적으로 호출된다.
16. 캐스트는 무엇이며, 언제 필요한가?
타입 간의 변환을 수행한다. (타입을 모르는 다른 언어와 통신할 때, 정적 타입 안전성을 고려하지 않고 작성한 코드와 인터페이스 하는 경우)
17. 포인터를 이용해 클래스의 멤버에 어떻게 접근하는가?
화살표
'Private > PROGRAMMING' 카테고리의 다른 글
Object Oriented Programming (0) | 2017.09.04 |
---|
- 부
- santa barbara
- 인생의발견
- 청년전세대출
- 일상
- San Francisco
- Irvine
- san diego
- 신한은행
- 카카오뱅크
- 인생의 발견
- 성격특성
- 여행
- SanDiego
- 성격의 탄생
- 게티
- 그리니치
- 전월세대출
- lalaland
- 미국
- 라라랜드
- 페미니즘
- Sustainability
- 학회
- 성차별
- LA
- 연구방법론
- MOCA
- 성격심리학
- SIGGRAPH
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |