보통 로그를 관리하는 Log 클래스와 어플을 관리하는 App 클래스는 Singleton pattern으로 하나만 생성해서 사용하는 것이 일반적인 경우가 있습니다. 이러한 경우, Singleton 객체간의 의존선이 존재할 때, 나중에 프로그램이 종료될 때 예상치 못한 에러가 야기될 수 있습니다. 아래 코드를 보고 프로그램 종료시 에러가 왜 나는지 예측해 보세요. ^^


http://www.gilgil.net/10260


#include <stdio.h>
#include <string.h>

class Log
{
  FILE* fp;
private:
  Log()
  { 
    fp = fopen("test.log", "wb");
  }
  virtual ~Log()
  {
    fclose(fp);
    fp = NULL;
  }
public:
  void write(const char* msg)
  {
    fwrite(msg, 1, strlen(msg), fp);
  };
public:
  static Log& instance()
  {
    static Log g_log;
    return g_log;
  }
};

class App
{
private:
  App()
  {
    //Log::instance().write("App::Appn");
  }
  virtual ~App()
  {
    Log::instance().write("App::~Appn");
  }
public:
  void start() {
    Log::instance().write("App::startn");
  }
  static App& instance()
  {
    static App g_app;
    return g_app;
  }
};

int main()
{
  App::instance().start();
  return 0;
}



번호 제목 글쓴이 날짜 조회 수
공지 [공지] IAMROOT 19차 커널 스터디 오리엔테이션 (zoom 접속 안내) [5] 문c(문영일) 2022.05.07 2981
공지 [공지] IAMROOT 18차 커널 스터디 오리엔테이션 안내 [마감] [2] 문c(문영일) 2021.05.17 2152
공지 커널 스터디를 위한 문c 가이드입니다. [10] 문c(문영일) 2021.04.27 8129
418 안녕하세요. 반갑습니다. [1] 김태훈91 2011.12.02 4441
417 투표 하셨나요? [2] 홍문화 2011.10.26 6014
416 재미난 이슈거리 [3] 백창우 2011.10.24 7806
415 커널 최적화 기법 백창우 2011.10.12 7341
» 프로그램을 종료할 때 왜 에러가 나는지 원인을 찾아 보세요. [14] 이경문 2011.10.09 6344
413 넥서스 프라임 + 아이스크림 샌드위치 [3] 김용욱 2011.10.07 7915
412 앱빠로서 가슴이 아프네요. [3] 정현철 2011.10.06 6803
411 OpenCL, CUDA 세미나를 진행하고자 하는데 자유롭게 의견 개진해주세요. [2] 백창우 2011.09.30 10365
410 버그를 찾아 보세요. ^^ [14] 이경문 2011.09.13 8711
409 안철수 교수님 또는 안철수씨 시장 출마에 대해 어떻게 생각 하시나요? [4] 홍문화 2011.09.03 8398
408 반갑습니다. 가입인사 드립니다 [2] 문유성 2011.08.31 7381
407 가입인사 드립니다. [3] 김세라 2011.08.30 7649
406 전체세미나 - 보람있는 하루, 아직도 뱃속이 얼얼합니다. [11] 김성현2 2011.08.29 8221
405 축 리눅스 탄생 20주년!! [1] 유강희 2011.08.26 6491
404 클라우드 실전 기술 세미나 홍문화 2011.08.24 5835
403 러셀 킹 한테 답장이 왔는데... [3] 홍문화 2011.08.22 7415
402 어떻게들 생각하세요... 이 신문기사... [1] 서정민 2011.08.22 6044
401 그렇게 안드로이드는 망했습니다. [3] 정현철 2011.08.15 6952
400 노트북 쓰시는 분들은 어떤 모델 쓰시나요? [14] 이승우 2011.08.11 7243
399 홈페이지 개선 사항 좀 알려주세요. [6] 백창우 2011.08.08 6410
XE Login