개요 저번장까지 이건 이렇고 저건 저렇다 라고 설명한 한 항목이였다. 이번 장은, 실질적으로 코드를 작성하는데 도움이 될 만한 몇가지 문법 들을 설명한다. 5.1 typename 5.2 this 5.3 멤버 템플릿 5.4 템플릿 템플릿 파라미터 5.5 0 초기화 5.6 함수 템플릿에서 문자열 리터럴을 인자로 사용 본문 5.1 typename이란 무엇이고, 어떤 용도인가? 지금까지 typename 은 템플릿 파라미터를 선언할 때 사용하는 키워드로 알고 있었지만, 여기에 한가지 의미가 더 있었다. 바로 "이것은 타입이다" 라고 알려 주는 의미이다. "이것은 타입이다"라는 의미가 왜 필요한가? 만약, 템플릿 파라미터가 클래스일 떄, 그 내부 타입이, "타입" 이라고 일러주지 않는 다면, 컴파일러가 에러를 벹어..
IT 검색 결과
이번 포스팅은 지극히 개인적인 환경 설정이다. 나 같은 경우에, 코딩의 좌우폭을 넓게 쓰는 스타일이라 가끔 한 화면의 좌우폭을 초과하여, 좌우 스크롤을 이용한 "가상공간"을 사용할 수 밖에 없었다. 한줄에 80자 이내로 맞추는것이 정석이지만, 아무리 해도 한줄에 80이내를 못하겠다. 그래서 고심을 하다가, "솔루션 탐색기 : Solution Explorer"를 숨김으로써 화면 좌우 폭을 넓혔다. 문제는 이 상태에서 "솔루션 탐색기"를 사용 하려고 할 때, 마우스를 이용하여, 활성화 시키면, 귀찮다는 것이다. 그래서 "솔루션 탐색기 : Solution Explorer"의 단축키( Ctrl + Alt + L ) 키를 눌러 사용 함으로써, 귀찮음을 없애 버렸다. 더군다나, "솔루션 탐색기 : Solution ..
boost 라이브러리에 항상 고마운 마음을 갖고 있다. 왜냐하면, 무엇인가 만들 때, 그 무엇을 구성하기 위하여 "부품"이 필요하다. 이러한 "부품"들 중 대다수는 boost 라이브러리에 있어, "부품"을 만드는 수고를 덜어 준다. 또한 "부품"의 퀄러티가 세계 최고이니, 고맙고 감사하고, 존경스럽기 까지 하다. 처음 boost::smart_ptr 를 사용하다, boost::bind, boost::fuctional, boost::any, boost::tokenizer, boost::lexical_cast, boost::tuple, boost::asio, boost::timer, boost::array, boost::lambda, boost::utility, boost::random, 까지 써 보았을 때,..
개요 지금까지 함수, 클래스 템플릿의 파라미터는 데이터형만 있는 것처럼 정리하였으나, 일반값도 있다. 이번 장은 데이터 형이 아닌 템플릿 파라미터란 무엇이고, 어떻게 사용하며, 주의해야 할 사항에 대해서 정리 되어 있다. 본문 데이터형이 아닌 템플릿 파라미터는 무엇인가? 상수로 평가되는 모든 값들이다. 하지만 예외적으로, 부동소수점(float, double) 상수와 문자열 상수(char *, wchar_t *)는 템플릿 파라미터로 사용 할 수 없다. 그래서 코드짜면 다음과 같이 코딩 할 수 있다. // 데이터형이 아닌 템플릿 파라미터 template class Stack { private: T elems[MAXSIZE]; }; 여기서 보듯이 첫번째 템플릿 파라미터는 데이터형이지만, 두번째 파라미터는 인트..
클래스 템플릿이란 무엇인가? 함수 템플릿 처럼, 클래스도 여러개의 데이터형으로 바뀔 수 있는 것을 말한다. 이러한 클래스 템플릿은 컨테이너류에 가장 많이 쓰이며, 대표적인 것으로는 std::vector 가 있겠다. 클래스 템플릿을 어떻게 선언하는가? template class Stack { //... }; 위에 처럼 선언할 수 있으며, typename 대신 class 를 사용 할 수 있다. 여기서 T는 멤버 함수나 멤버 변수를 선언 할 때 사용 된다. 즉, 다음과 같이 사용 될 수 있다. #include template class Stack { public: Stack(); void push(T const & ) ; void pop(); T top() const; private: std::vector e..
이 포스팅은 프랑스 카페 기법이 무엇이고, 어디에 쓰이는지 기록하기 위하여 쓰여졌습니다. 프랑스 카페 기법의 원본 글 : http://kldp.org/node/75861 Samba의 개발과정 --------------------- 글쓴이: Andrew Tridgell 2003년 8월 원문: 옮긴이: 박선재 2006년 12월 --------------------- 첫번째 방법: --------- 우선, CIFS/SMB 프로토콜에 관한 공개 문서가 몇 가지 있습니다. 비록 내용이 충분치 않고 정확하지도 않지만, 첫 발을 내디딜 때는 상당히 유용합니다. 가장 중요하다고 할 수 있는 문서는 아마 1997년에 나온 draft-leach-cifs-v1-spec-02.txt일 겁니다. 이 문서는 SNIA에서 공개한 ..
최근댓글