Dev/C++ 55

C++0x Lambda

아래 링크의 글 중 Herb Sutter 의 Lambda 예제 및 설명에 관한 리플.. http://herbsutter.wordpress.com/2008/03/29/trip-report-februarymarch-2008-iso-c-standards-meeting/ []와 []안에 들어가는 내용에 대해서 명쾌하게 설명을.. Herb Sutter Re binders: Okay, I give! I’ll use a better example next time. (no name) asked: "How are local variables captured?" You have to specify whether it’s by copy or by reference. So this example is illegal beca..

Dev/C++ 2009.05.20

C++ Refactoring

기 작성되어 있던 C++ 컴포넌트에서 한개의 함수에 너무 많은 코드로 인해, 컴파일러 내부 오류를 경험하고 해당 코드에 대해서 리팩토링을 결심!! 관련된 작업은 Extract Method 이며 자동으로 해당 부분을 추출하여 Method를 만들어 주는 툴을 중심으로 알아 보았다. 이것 저것 알아보던 중 2개의 후보가 눈에 띠었다. 대상은 "Refactor! For Visual C++ 2005"와 "Visual Assist X" 에서 지원하는 Refactoring 에 관련된 기능이다. 결론부터 얘기하면 "Refactor! For Visual C++ 2005"의 기능이 쓸만 하였고 Visual Assist X 의 리팩토링 기능은 간단한 기능을 제외하고는 그다지 유용하지 못하였다. Visual Assist X ..

Dev/C++ 2009.04.14

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++ 헤더로만 이루어져 있어 별도의 라이브러리 컴파일 과정이 필요없다. 그리고 각 플랫폼에 맞는 동기/비동기 모델을 하나의 인터페이스로 구현을 하여 유연성있는 네트워크 프로그램을 제공을 한다 boost 1.35부터 포함되어 있어 boost 라이브..

Dev/C++ 2008.08.22

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/09/10/trip-report-july-2007-iso-c-standards-meeting/ - 새로 추가되는 기능들에 대한 내용들 - constexpr, decltype 등... http://herbsutter.wordpress.com/2007/11/01/tr..

Dev/C++ 2008.07.29

Is Derived - code

Is Derived # 처음에 이 소스에서 template의 가능성을 보고 뒷통수를 맞은 기분 이었습니다. 기본적인 내용은 Base에서 Derived가 상속 되었느냐를 확인 하는 코드 입니다. 이 예제 뿐만 아니라 Modern C++ Design(Andrei Alexandrescu)에는 무궁무진한 template의 향연이 펼쳐집니다. 아래의 예제는 More Exceptional C++(Herb Sutter)에 나오는 내용입니다. 원본은 Andrei Alexandrescu에 의해 작성된 글이라고 More Exceptional C++에서 명시 하고 있습니다. 제가 컴파일러에서 테스트하고 수정한 소스입니다. //////////////////////////////////////////////////////// ..

Dev/C++ 2008.05.01

C++에서 프로퍼티 구현하기

C++에서 프로퍼티 구현하기 # C++에서 템플릿을 이용한 프로퍼티를 구현한 소스입니다. VC++에서는 프로퍼티를 컴파일러 차원에서 지원하지만 이건 ANSI 코드입니다. 출처는 BorlandForum 이고 보다 안정적이게 소스를 수정했습니다. #ifndef __PROP_H__BY_CDECL__ #define __PROP_H__BY_CDECL__ namespace Glass { class IYES {}; class YES : public IYES {}; class NO {}; template class Prop { public: typedef Prop this_type; typedef T (Parent::*get_fun)(); typedef void (Parent::*set_fun)(const T&); P..

Dev/C++ 2008.05.01