이번 항목은 표준 라이브러리를 비판하기 위해서 있는 항목 같기도 하다. 비판의 방향은 "표준이 표준이 아닐 수 있는 것은 표준 라이브러리의 구현을 엄격히 정해 두지 않아서 이다" 로 잡고 이야기 하겠다. 이 이야기의 대표로 함수 std::mem_fun 를 들어 본다. 1. std::mem_fun은 무엇인가? 어떨 때 사용 하는가? 사례를 제시하라. 쉽게 말해서 멤버 함수를 함수 객체로 만들어 주는 binder 이고, ... 알고리즘에 쓸 때 많이 쓰인다. .. 링크로 대체 한다. http://groups.google.com/group/han.comp.lang.c++/msg/f74a487c6b6cdf64 http://yesarang.tistory.com/101 2. 다음 코드의 주석으로 생략된 부분에 올바..
Exceptional C++ Style 검색 결과
항목 2에서 "메모리를 직접 제어하여, 사용할 때는, 범위 안전성을 제공하는 함수만을 사용해야 한다"는 교훈을 얻을 수 있었다. 이번 항목에서는 문자열 포매팅에 있어서, 그 대안들을 논쟁해 본다. 질문 1. 다음의 sprintf 대안들의 장단점을, 이전의 항목 2에서 나왔던 분석과 예제코드를 이용해서 비교, 대조하라. ⓐ snprintf sprintf 와 가장 근접한것이 snprintf 일 것이다. snprintf 는 출력 버퍼의 크기를 지정함으로써, 범위를 지정해 안전성을 확보한 함수인 것이다. sprintf 의 단점을 너무나 잘 알았던 컴파일러 제공사들은 비표준으로 이런 함수를 제공하고 있었다. 그러다 C99에서부터 공식적으로 표준 함수가 되었다. 가장 위험한것은 고쳤지만, 형식에 대한 안전성을 고치..
이번 항목은 문자열을 포맷시키는 sprintf 함수의 문제점을 알아보고, sprintf 의 대안들이 왜 더 좋은지에 대한 이야기를 하는 항목이다. 1. sprintf 는 무엇이며, spinrtf 대신 사용 할 수 있는 표준 함수들을 모두 나열하라. snprintf, std::stringstream, std::strstream 이렇게 있다. 나는 stringstream의 존재를 이번달에 알게 되었다. 만약 책을 안보았더라면, ... 계속 몰랐을 것이다. 2. sprintf 의 주된 강점과 약점을 구체적으로 서술하라. 강점 사용하기 무척편하며, 버퍼를 직접 사용하여, 빠르다. 약점 길이 안전성을 제공해 주지 않고 있다. 이것은 헤아릴수 없는 문제들을 동반해 준다. 그리고 형식 안전성을 제공하지 않고 있다. ..
제일 많이 사용 하는 STL 컨테이너 중 하나를 고르라고 하면 단연, vector가 아닐까 한다. 이 vector의 사용 법에 대해서 질문을 하려 한다. 1. vector v가 주어졌다고 할 때, 아래의 줄 A와 B의 차이는 무엇인가? #include #include #include using namespace std; void f( vector& v ) { v[0];// A v.at( 0 ); } A 는 범위 점검을 하여 벡터의 내부 요소에 접근 할 "수" 있다. B 는 무조건 범위를 점검하여 벡터의 내부 요소에 접근 한다. 이 두 차이로 인하여, 무엇이 안정적인지 알 수 있을 것이다. 하지만, 안전적인게 B 방법이라 할지라도, 성능상의 이류로 A를 사용 하기도 한다. iterator 를 사용 하여....
EXCEPTIONAL C++ STYLE저자 HERB SUTTER역자 류광출판사정보문화사40개의 새로운 C++ 프로그래밍 시나리오들을 제시하는 책. C++ 프로그래밍에 대한 실질적인 질문들과 해답들로 구성된 이 책은 필수적인 C++ 세부 사항과 그 상호관계에 대한 새로운 통찰을 제공하며, 일반적 프로그래밍, STL, 예외 안전성 등 오늘날의 C++ .. 이 책이다. .. 이 책은 More Exceptional C++ 다음 책으로, .. 류광씨가 번역한 책이다. 자. 이제 이것도 고고싱이다.
최근댓글