잔잔한 파도

  • 홈
  • 태그
  • 방명록

C++ 2

GDI+ Bitmap 복사하기 C++

GDI+ Bitmap을 복사본을 만들려면 아래처럼 Clone 메서드를 사용하게 됩니다. Gdiplus::Bitmap* pBitmap = bitmap.Clone(0, 0, bitmap.GetWidth(), bitmap.GetHeight(), bitmap.GetPixelFormat()); 하지만 Clone 메소드는 깊은 복사(deep copy)가 아니라 얕은 복사(shallow copy)이기 때문에 원본을 변경하면 복사본도 변경되고 복사본을 변경하면 원본도 변경됩니다. 완전한 복사본을 만드려면 Bitmap 객체를 생성해서 원본 Bitmap을 직접 그려줍니다. Gdiplus::Bitmap* pBitmap = new Gdiplus::Bitmap(bitmap.GetWidth(), bitmap.GetHeight()..

개발 2021.01.01

goto 대신에 do { ... } while (false)를 사용한 에러처리

C/C++ 코딩을 하다보면 흔히 아래와 같은 에러처리 코드를 만나게 된다. ... if (!condition1) goto cleanup; ... if (!condition2) goto cleanup; ... if (!condition3) goto cleanup; ... if (!condition4) goto cleanup; ... cleanup: // 메모리 해제등의 정리 작업 고급 언어에서는 goto를 사용하지 말라고 많이 하고 실제 goto의 사용이 스파게티 코드를 만드는 경우가 많기 때문에 사용하지 않는 것이 좋지만 C/C++에서는 finally를 지원하지 않기 때문에 위와 같은 코드는 묵인해주는 경우가 많다. 그래도 goto를 피하고 싶기 때문에 아래처럼 하기도 한다. ... if (!condit..

개발 2010.03.25
이전
1
다음
더보기
  • 분류 전체보기
    • 개발
    • 팁
    • 관심
    • 일상
      • 캠핑
    • 기타
      • 노키아

Tag

windows 8, 아이폰, Adobe AIR, 개봉기, 프로그래밍, Windows Vista, 후기, Windows 8.1, iphone, 프리웨어, 서피스 RT, Microsoft Azure, 스마트폰, Windows 10, 설치, Visual Studio, flex, IE8, Windows Azure, 마이크로소프트,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

방문자수Total

  • Today :
  • Yesterday :
방명록

Copyright © Kakao Corp. All rights reserved.

  • 핀토소프트
  • 스타코덱
  • 소프트픽 자료실

티스토리툴바