보통 로그를 관리하는 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 881
공지 [공지] IAMROOT 18차 커널 스터디 오리엔테이션 안내 [마감] [2] 문c(문영일) 2021.05.17 1249
공지 커널 스터디를 위한 문c 가이드입니다. [10] 문c(문영일) 2021.04.27 6472
1017 [공지] 커널 주중 D팀 10주차(7/19) 스터디 참가여부 조사(일요일 마감) [9] 깜시 2017.07.14 103
1016 [커널 15차 A팀]18주차 8월 25일 참석인원 조사 [9] Mike.C 2018.08.19 103
1015 [커널 15차 A팀] 22주차(2018-09-22) 스터디 장소 공지 [6] 사앙조 2018.09.20 103
1014 [커널 15차 A팀] 67주차 참석인원 조사 코딩의노예 2019.07.31 103
1013 [공지] 커널 주중 E팀 27주차(11/29) 스터디 참가여부 조사 (월요일까지) [6] 김지성 2017.11.27 104
1012 [커널 16차 스터디] 81주차 참석인원 조사 [5] 커널열공 2021.02.21 104
1011 [공지] 커널 14차 주말 B팀 8주차 장소공지 [2] 사앙조 2017.06.26 105
1010 [커널 16차] 135주차 [2] 이파란 2022.03.06 105
1009 [커널 16차] 150주차 [3] 이파란 2022.06.19 105
1008 [공지] 커널 주중 D팀 26주차(11.22) 스터디 참가여부 조사 (일요일까지) [6] 깜시 2017.11.17 106
1007 [커널 15차 A팀] 51주차 참석인원 조사 [2] 코딩의노예 2019.04.08 106
1006 [커널 16차] 161주차 [3] 이파란 2022.09.03 106
1005 안녕하세요!^~^ 에카트 2016.06.29 107
1004 [해킹/보안] 이번주도 장소 동일한가요? [6] pororo 2017.05.18 107
1003 [공지] 커널 주중 D팀 8주차(7/5) 스터디 참가여부 조사(일요일 마감) [7] 깜시 2017.06.29 107
1002 [공지] 커널 주중 E팀 23주차(11/1) 스터디 참가여부 조사 (월요일 마감) [7] 김지성 2017.10.29 107
1001 [공지] 커널 주중 E팀 25주차(11/15) 스터디 참가여부 조사 (일요일까지) [5] 김지성 2017.11.13 108
1000 [공지] 커널 주중 D팀 37주차(2/7) 스터디 참가여부 (월요일까지) [3] 깜시 2018.02.04 108
999 인터넷이 잠깐 끊겼었습니다. woos 2018.06.02 108
998 [커널 16차 스터디] 83주차 참석인원 조사 [3] 커널열공 2021.03.07 109
XE Login