본문 바로가기

Programming123

VIM 에 이런 기능이 - 소스코드를 html 문서로 변환하기 소스를 붙여넣기 하면 영 보기가 껄끄럽고 그렇다고 수정하자니 손이 많이간다. 이럴때 이 명령어를 쓰면 유용할 듯 하다. 소스를 연 상태에서 :TOhtml 를 입력하면 창이 나뉘면서 상단에 html 변환 문서가 생성된다. (오오오~~~~~) p.s) vim 이 없는가? 그럼 이곳을 참조하라. (http://www.vim.org/download.php) Before -------------------------------------------------------------------------------------------- #include #include #include #include template class template_test { public: T data_; void display() { .. 2008. 9. 26.
About Exception-safety guarantee - 예외 안전성 보장 저자의 생각이 반영된 글이므로 틀린 내용이나 다른 접근을 말씀해주시면 적극 검토해 보겠습니다. What is Exception and why is Exception-safety guarantee needed? -------------------------------------------------------------------------------------------- Exception이란 프로그래머가 디자인한 흐름대로 실행이 되지 않아 더이상 정상적인 진행이 불가능한 경우를 말한다. 예를들어 성적을 저장할 장소를 마련하기 위해 메모리를 할당해야 하는데 공간이 충분하지 않아 할당을 못한경우 그대로 성적을 저장할 수 없으므로 할당이 안된 경우도 하나의 Exception이다. 간단히 에러라고 생각해도 무.. 2008. 9. 19.
클래스 swap에 대한 고찰 Introduction ---------------------------------------------------------------------------------------------- 기존의 swap은 어떤 타입이든(대입 연산자 '=' 를 이용할 수 있다면) 가능한 std 범용 함수이다. 하지만 클래스 내부 멤버 변수가 엄청나게 큰 데이터를 가지고 있다면, 복사에 드는 비용은 실로 어마어마하다고 할 수 있다. 이런경우 두 객체의 멤버 변수 포인트만 바꿔주는, 기존의 동작과는 약간 다른 특화된 swap을 만들 필요가 있다. 지금부터 설명하고자 하는 특화된 swap에 대한 방법은 Effective c++에서 소개한 방법을 인용하기로 한다. Before implementing specialized s.. 2008. 9. 17.
C++ Casting 관련 (it needs code test) Before Introduction of the casting -------------------------------------------------------------------------------------------- Casting에 대한 설명 전에 당부하고 싶은 말은, 되도록 Casting 횟수를 최소화 하라는 것이다. 왜냐하면 Casting을 하다보면 틀린 코드를 쓰고도 모르는 경우가 발생할 수 있으며, Casting시 Overhead가 있기 때문이다. 꼭 필요한 것인지 다시한번 생각해볼 필요가 있는 녀석이다. 또하나 당부하고 싶은 말은, 구형스타일의 캐스트를 쓰려거든 (예) (int)32.353 C++스타일의 캐스트를 사용하라는 것이다. 코드상에서 캐스팅 영역을 발견하기도 편하고, 그로 .. 2008. 9. 17.