수안이의 컴퓨터 연구실

  • Mainpage
  • About Me
  • Tags
  • Metapage
  • Notice
  • Location
  • Keywords
  • Guestbook
  • Admin
  • Write an Article
  • Total | 1620706
  • Today | 86
  • Yesterday | 482

Programming/C++2007/03/19 11:01

operator new 와 operator delete 작성시 관례를 따른다.

원본 : http://www.debuglab.com/knowledge/opera ··· ete.html

8. operator new 와 operator delete 작성시 관례를 따른다.

여기서는 operator new를 직접 작성해야만 할 때 그함수가 default new 와 일치하는 동작을 제공 해야 한다는 내용입니다.

->혹시라도 잘못된 양의 메모리를 요청하고 있다면 제대로 할당해 주어야 합니다.

아래 예제가 나갑니다.

class Base{ 

public: 

    static void* operator new(size_t size); 

    … 

}; 



class Derived:public Base{…};//여기서는 연산자 new를 선언하지 않았습니다. 

Derived* p=new Derived;//먼저 Base::operator new를 호출 

만일 Base의 operator new 가 이런 상황에 대처하기 위해 설계되지 않으면 잘못된 양의 메모리 요청을 표준 operator new로 전달 합니다. 다음과 같습니다.

void* Base::operator new(size_t size) 

{ 

    if(size!=sizeof(Base))//size가 잘못 되었으면 표준연산자 new가 요구를 처리하게함 

        return::operator new(size); 

    //그렇지 않으면 직접 할당 

} 

// delete 역시 마찬가지 입니다. 



void Base::operator delete(void* rawMemory,size_t size) 

{ 

    if(rawMemory==0)return;//널포인터 검사 

    

    if(size!=sizeof(Base)){ 

        ::operator delete(rawMemory); 

        return; 

    } 

    //그렇지 않으면 직접 해제함 

    return; 

} 

-참고

Scott Meyers,EffectiveC++



- 2001.08.13 Smile Seo -
"C++" 카테고리의 다른 글
  • 동적으로 할당되는 메모리를 갖는 클래스를 위해서... (0)2007/03/21
  • exception 클래스 확장하기 (0)2007/03/21
  • operator new 와 operator delete 작성시 관례를... (0)2007/03/19
  • 메모리가 모자랄 경우에 대비한다 (0)2007/03/19
  • malloc과 free 보다는 new와 delete를 사용한다. (0)2007/03/19
2007/03/19 11:01 2007/03/19 11:01
Posted by webdizen
No Trackback No Comment

Trackback URL : http://www.webdizen.net/blog/trackback/2703

Leave your greetings.

[로그인][오픈아이디란?]

«Prev  1 ... 534 535 536 537 538 539 540 541 542 ... 2998  Next»

RSS HanRSS
Blog Image
webdizen
이 곳은 컴퓨터에 대해 연구하고, 공유하고, 소통하기 위한 연구실입니다. 개인적으로는 OLAP, Data Mining, Semantic Web, Data Modeling에 대해서 연구하고 있습니다.

Categories

전체 (2998)
Webdizen (134)
Life (6)
Diary (16)
Blog (9)
IDEA (1)
Travel (10)
Book (14)
Photo (7)
Movie (7)
Music (13)
Leisure Sports (10)
Funny (5)
Hardware (119)
Software (120)
Windows (5)
Unix & Linux (119)
Installation (4)
Kernel (10)
System (34)
Develop (22)
X-Window (0)
Applicaton (31)
Security (4)
Framework (2)
Hadoop (2)
Programming (805)
Algorithm & Data Structure (1)
Assembly (38)
UNIX/Linux C (95)
C++ (128)
STL (4)
Java (38)
Win32 API (92)
ATL/COM (44)
MFC (151)
.NET (26)
WCF/WPF (4)
C# (28)
Network Programming (17)
Database Programming (12)
OpenGL / DirectX (13)
Multimedia Programming (0)
Game Programming (21)
Parallel Distributed Progra... (0)
Reverse Engineering (0)
Debugging (9)
Python (1)
Ruby (1)
Ruby on Rails (1)
QT (4)
GTK (0)
JSP (0)
PHP (6)
ASP.NET (6)
ASP (3)
Development (28)
Useful Library (2)
Data Modeling (0)
Database (105)
Oracle (4)
MSSQL (41)
MySQL (2)
Data Warehouse (2)
Data Mining (3)
Network (66)
Web (78)
DHTML (4)
XHTML (1)
Javascript (1)
CSS (1)
AJAX (9)
XML (11)
Flex (1)
Silverlight (3)
Security (91)
DoS (1)
Kernel (10)
Scanning (3)
Sniffing (0)
Spoofing (4)
Overflow (28)
Web (11)
Shell (10)
Format String (14)
Window (2)
Embedded (70)
Multimedia (27)
Mobile (14)
Graphic (24)
Management (633)
Knowledge (581)
Hadoop (0)

Notice

  • 메타 블로그 사이트에 등록
  • 새해 맞이 블로그의 변화
  • 블로그 명칭 변경
  • 도메인(www.webdizen.net) 구...
  • TEXTCUBE 1.6.1로 업그레이드...

Tags

  • 설치
  • List Control
  • ATL
  • Network Auto-Tuning
  • Procedure
  • 해네시 VSOP
  • 컴포넌트
  • 256Color
  • Uni-Processor
  • Objects
  • SARG
  • 매크로
  • 대학원
  • 블로그플러스
  • 병렬화
  • TEXTCUBE
  • Java
  • 강원대학 교기
  • Ruby
  • 장르

Recent Articles

  • ASCII Code의 CRLF 제거 방법.
  • Hadoop 에서 c++ API 이용시....
  • Ubuntu Linux에서 Hadoop 구....
  • 내 심장을 한껏 뛰게한 "국가....
  • 스타 스키마 데이터베이스 설....

Recent Comments

  • ■ 온라인카지노 ▶ http://L....
    asdf 11/21
  • 그리고 혹시 해외여행자보험....
    kim 11/05
  • ★★실제 바다게임장과 똑같....
    asdf 11/04
  • sbsyama.co.to← 짱5000만당....
    asdf 11/04
  • ♡KicaZ??o(???) 바카라사....
    fdsf3fass 11/03

Recent Trackbacks

  • 파일 열기/저장하기 CFileDialog.
    은마군의 나태블록 02/11
  • World IT Show 2008.
    상우 :: Oranzie's BLOG 2008
  • cvs서버 설치하기.
    3인3색 2008
  • 속속 공개되는 Google Chart....
    PHP와 Web 2.0 2007
  • 마방진을 구하는 프로그램.
    Oranzie's BLOG 3 2007

Archive

  • 2009/09 (3)
  • 2009/08 (1)
  • 2009/03 (1)
  • 2009/02 (9)
  • 2009/01 (13)

Calendar

«   2009/11   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

Bookmarks

    • Administration
      • IIS.NET
      • NTFAQ
      • OS의 모든 것
      • 리눅스포털
    • Database
      • SQL Server Central
      • SQL Team
    • Development
      • .NET Heaven
      • ASP Alliance
      • ASP.NET 2.0
      • Bullog.net
      • C# Corner
      • C++ (C PlusPlus.com)
      • C++ Reference
      • CodeGuru
      • CodePlex
      • DebugLab
      • Dev Articles
      • Devpia
      • DotNet Junkies
      • DotNet Zone
      • Driver Online
      • GOSU.NET
      • HOONS 닷넷
      • Joinc 팀블로그
      • KOSR
      • MSDN Home Page
      • OSR Online
      • Sky.ph - 개발자 커뮤니...
      • TAEYO.NET
      • The Code Project
      • WindowsClient.net
      • 김상욱의 개발자 Side
      • 조인시 위키
    • Human Networks
      • belief21c's e-space
      • I think I can
      • Invisible Rover's Blog :D
      • Rodman®
      • ■ Feel So Good~! ■
      • 까만 나비
      • 나를 가꾸는 시간.
      • 나만의 즐거움~~!
      • 단녕
      • 상우 :: Oranzie's BLOG
    • Information Technology
      • Microsoft TechNet
      • 지디넷코리아 - 글로벌...
    • Security
      • FoundStone
      • milw0rm
      • NewOrder
      • OpenRCE
      • Phrack.org
      • Reverse Engineering b1...
      • Reverse Engineering Team
      • RootKit
      • SecurityFocus
      • SecurityXploded by Nag...
      • Wow Hacker
      • Zone-H
Textcube
Louice Studio Inc.
Powered by Textcube. Original designed by Tistory.