본문 바로가기

Dev/C++

C++ Refactoring 기 작성되어 있던 C++ 컴포넌트에서 한개의 함수에 너무 많은 코드로 인해, 컴파일러 내부 오류를 경험하고 해당 코드에 대해서 리팩토링을 결심!! 관련된 작업은 Extract Method 이며 자동으로 해당 부분을 추출하여 Method를 만들어 주는 툴을 중심으로 알아 보았다. 이것 저것 알아보던 중 2개의 후보가 눈에 띠었다. 대상은 "Refactor! For Visual C++ 2005"와 "Visual Assist X" 에서 지원하는 Ref.. 더보기
An Overview of the Coming C++ (C++0x) Standard C++ 0x에 대한 리뷰 동영상인가 보다. 시간있을때 하나씩 정리를 해볼까 하는데.. 움.. 더보기
asio C++ library http://sourceforge.net/projects/asio/ asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach. asio 는 클로스 플랫폼은 지원하는 네트워크 라이브러리이다ACE와는 비교도 안.. 더보기
C++ 0x - Herb Sutter의 블로그 글 Herb Sutter 블로그의 C++ 0x 에 대한 리포트 링크 정리 http://herbsutter.wordpress.com/http://herbsutter.wordpress.com/2007/05/10/trip-report-april-2007-iso-c-standards-meeting/ - 템플릿 별칭(aliase), 가변 템플릿 파라미터, using 용법 확장에 대한 내용들 http://herbsutter.wordpress.com/2007/0.. 더보기
C++ 0x 차세대 C++ 표준인 C++ 0x 의 언어적인 추가 사항 정리 (C++ 1x 가 되지 않기를 빈다... ^^;)- UTF-8, UTF-16 지원 = u8"I'm a UTF-8 string."= u"This is a UTF-16 string."= U"This is a UTF-32 string." - Template Aliases #include <vector>template<typename T>class MyAllocator.. 더보기
memory pooling - code MemPooling #메모리 풀링 클래스 Efficient C++(Dov Bulka , David Mayhew)에서 많은 도움은 얻음나름대로 좋은 성능을 냄 /** * MemPool.h * * Memory Pooling Class * * Copyright (c) 2004 by cdecl (byung-kyu kim) * */ #ifndef __MEM_POOL_H__BY__CDECL #define __ME.. 더보기
Is Derived - code Is Derived # 처음에 이 소스에서 template의 가능성을 보고 뒷통수를 맞은 기분 이었습니다. 기본적인 내용은 Base에서 Derived가 상속 되었느냐를 확인 하는 코드 입니다. 이 예제 뿐만 아니라 Modern C++ Design(Andrei Alexandrescu)에는 무궁무진한 template의 향연이 펼쳐집니다. 아래의 예제는 More Exceptional C++(Herb Sutter)에 나오는 내용입니다. 원본은 .. 더보기
C++에서 프로퍼티 구현하기 C++에서 프로퍼티 구현하기 # C++에서 템플릿을 이용한 프로퍼티를 구현한 소스입니다. VC++에서는 프로퍼티를 컴파일러 차원에서 지원하지만 이건 ANSI 코드입니다. 출처는 BorlandForum 이고 보다 안정적이게 소스를 수정했습니다. #ifndef __PROP_H__BY_CDECL__ #define __PROP_H__BY_CDECL__ namespace Glass { class IYES {}; class.. 더보기
boost::pool 예제 boost::pool 예제 #boost::pool을 사용한 메모리 풀링.빈번한 메모리를 사용할때에 유용하다고 판단. #include <iostream> #include <string> using namespace std; #include <windows.h> #include <boost/pool/pool.hpp> class VM { public: void* opera.. 더보기
STLport 초간단 설치 STLport의 사용이유 # VC++ 6.0의 내장된 STL 구현이 비표준인것들이 많아 사용상 어려움 부분적으로 내장된 STL보다 성능이 뛰어남 VC++ 7.0 이후 버전은 개인적으로 자체 STL사용 권장 STLport 초간단 설치 #STLport의 설치방법중 커맨드명령(IDE 없이)을 통해 설치하는 방법을 이용한다.(개인적으로 이방법이 가장 편하고 쉬움) VC++ 6.0을 사용할때 서비스팩은 항상 설치 권장 sp5 or .. 더보기
Stroustrup - The real interview 실제 Stroustrup 인터뷰(The real interview) # 원문: B. Stroustrup, "The real Stroustrup interview," IEEE Computer, vol. 31, no. 6, pp. 110-114, June 1998. 번역문: 서진택의 C++ complete guide중에서 발췌 'The Design and Evolution of C++'(Addison Wesley, 1994)에서, Bjarn.. 더보기
qsort vs sort std::sort 는 qsort 보다 빠르다 # 비교 함수의 리턴값 <qsort> qsort의 비교함수 리턴 값은 int type 입니다. 그러므로 결과는 3가지 종류이죠 a < b -> -1 a > b -> 1 a = b -> 0 그러므로 적어두 2번을 비교 해야 합니다. <sort> sort의 비교함수 리턴 값은 bool type이입니다. 그러므로 1번만 비교 하면.. 더보기