바로 질문 들어가자. 1. 표준 라이브러리에서 vector와 deque는 유사한 기능을 한다. 그렇다면 둘 중 어떤 컨테이너를 써야 할까? 이유는? 둘 중 하나를 골라서 써야 하는 상황은? 음.. 그림으로 표시 바로.. 출처는 http://www.cplusplus.com/reference/stl/ 이다 2. 다음 코드는 어떤 결과를 보여 주나? #include std::vector c ( 10000 ); c.erase( c.begin() + 10, c.end() ); c.reserve( 10 ); 풀이를 하자면 C를 초기에 10000까지 늘리고, 10개 후부터 끝까지 지운 후에 공간을 10으로 만든다. 하지만.. 실제 공간이 10으로 줄여주는것이 아니므로, 줄여주기 위한 목적이라면 resize( 10 )..
전체 글 검색 결과
바로 질문으로 시작하자. 1. 다음 코드가 정상적으로 작동 하는가? 그렇다면, 어떻게 개선 할 수 있는가? char *p = &v[ 0 ]; 정상적으로 작동한다. 약간 위험해 보이는 코드이기 때문에, iterator를 이용해서 사용 하는 편이 더 안전하다고 생각 될 수 있다. 하지만 .. iterator 쓰기가 부담스러울 때가 있는데, 그때 포인터를 사용 할 수 있겠다. 여기서 왜 iterator가 더 안전하냐하면, 확인과정을 거치면서 이동할 수 있기 때문이다. 그리고 뭐가 더 좋고 뭐가 더 좋다는 말은 못하겠다. 때에 따라서 좋은게 좋은거로 되기 때문이다. 2. 다음 코드는 유효한가? 설명하라. template void f( T& t ) { typename T::value_type *p1 = &t[0]..
이번 항목은 typename 에 대해서다, 그냥 알고만 있어도 바로 써먹을 수 있으니, 빠르게 정리하고 넘어가도록 한다. 1. typename의 역활은 무엇인가? ① typename은 템플릿 매개변수의 이름을 정할 때, 사용 된다. ② typename은 템플릿 매개변수로 인한 의존적인 타입을 타입으로 사용할 때, 사용 된다. ① 은 쉽게 이해 하겠지만, ②은 가물 가물 할것이다. 질문 2에서 예제와 함게 설명 한다. 2. 아래 코드의 문제점은 무엇인가? template class X_base { public: typedef T instantaited_type; }; template class X : public X_base { public: bool operator() ( const instantaite..
어떤 기능,역활, 상태를 클래스에 부여하기 위해서, 상속이나 특성 클래스를 사용 한다. 이러한 클래스들에 제약을 두어서, 원하는 클래스만이 사용될 수 있게 하는 기술에 대한 이야기가 바로 항목 4이다. 이야기를 하기 위해서 5가지의 질문에 답해보고 생각해 보기 바란다고, 책에선 설명하고 있다. 1. 특성 클래스(traits class)의 정의는? C++98 17.1.18에서, 클래스 템플릿과 함수 템플릿이 받아들이는 타입을 조작하기 위해, 필요한 타입과 함수의 집합을 포함하는 클래스라고 규정했다. 예를 들면, iterator_traits 도 있고, not1에 넣을때 .. 몇몇 특성 클래스도 있고. 잘 사용하지 않아서 예는 잘 못들겠네; 2. 아래 클래스 템플릿이 있다. 템플릿 매개변수가 T* Clone(..
8장부터는 컴파일과 실행 및 오류 검사에 대한 이야기를 하고 있다. 이번 8.1 에선 컴파일에 대한 이야기를 하고 있는데, 루아는 인터프리터 언어로써, 실행 중에 코드를 컴파일 할 수 있는 기능을 제공해 주고 있다고 한다. 파일을 컴 파일 할 때는 두개의 명령어가 있는데, 하나는 dofile, 다른 하나는 loadfile 이다. dofile과 달리 loadfile은 오류를 일으켜도 정지하지 않고, 오류 코드를 반환해 준다. 파일을 컴파일 하는 두 컴파일 함수는 무엇이 다를까? dofile의 경우, 호출 한 번에 파일 내부의 모든 실행을 한번 실행해 준다. 간단한 작업을 한번만 처리 하고자 할 때는 dofile이 유용하다고 한다. loadfile의 경우, 호출 한번에 파일 내부의 모든 실행을 .. 하지 않..
음.. 진짜 반복자라는 말이나. 클로저라는 말이나. 어찌 보면 다 함수들인데 이런 말들이 섞이면서 매우 햇갈리게 된다. 그 이유는 루아가 버전을 올리면서, 생겨난 일이지 아닐까 싶다. 일반 for문의 원리는 아직 변하지 않으므로, 이번 장은 패스 한다. 이번 항목의 마지막 결론을 인용하자면, 루아의 Old 버전에서 사용 한 방법이고, 대부분의 경우 이 방법은 쓰이지 않을 것이라고 한다. 관련 링크 : http://www.lua.org/pil/7.5.html 총평 생각 없이 책 보기 시작한지 어느덧..
최근댓글