포인터 관련해서 프로그래머는 많은 이야기를 듣게 되듣이 예외 안전성에 있어 포인터는 참 안타까우면서 놀라운 존재로 보여진다. 이번 항목은 함수의 매개변수에 포인터를 넘기게 될 때 문제가 생길 수 있음을 지적한다. 질문 1. 다음의 예제에서 함ㅅ f,g,h와 구문 expr1 과 expr2가 계산되는 순서는 어떻게 되는가? 이때 expr 들은 한번만 실행되는 구조이다. /// 예제 20-1(a) // f( expr1, expr2); /// 예제 20-1(b) // f( g(expr1), h(expr2) ); 2. 이 코드의 예외 안전성 문제가 발생할 가능성이 있는가? /// 예제 20-2 // // 헤더파일 void f( T1*, T2* ); // 구현파일 f( new T1, new T2 ); 해설 질문 1..
메모리 관리 검색 결과
해당 글 2건
항목 20 : 관리되지 않은 포인터 문제 Part 1: 매개변수 (난이도 6)
책 정리/More Exceptional C++
2008. 12. 6. 14:41
항목 35 : 메모리 관리 - 파트 1 (난이도 3)
메모리에 대해서 얼마나 많이 알고 있나? 어떤 다른 메모리 영역이 있나? 이 문제는 C++의 주요한 독립적인 메모리 저장소에 기초를 두며, 좀 더 자세히 이해하여 메모리 관리를 보다 효율적으로 할 수 있는것에 초점을 둔다. 문제 : C++의 주요한 독립적인 메모리 저장소는 무엇이 있나? 해설 메모리 영역 특성들과 개체 활동 주기 상수 데이터(Const Data) 상수 데이터 영역은 문자열과 컴파일 시점에 값을 알 수 있는 다른 데이터들을 저장한다. 클래스 형식의 개체는 이 영역에 존재 할수 없다. 이 영역의 모든 데이터는 프로그램의 전체 활동주기 동안 가능하다. 게다가, 이 모든 데이터는 읽기 전용이므로, 이를 수정하면 정의되지 않은 결과가 나온다. 이곳에 저장을 하는것은 컴파일러에 의해 결정 되므로, ..
책 정리/Exceptional C++
2008. 10. 8. 18:19
최근댓글