바로 질문 들어가자. 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 총평 생각 없이 책 보기 시작한지 어느덧..
최근댓글