Open/Close


주말

December 9th, 2007 by exedra

이번 주말은 확실히 쉬어야겠다고 마음먹고 있었는데, 세상 일이란 게 그렇게 마음 먹은대로만 굴러가지는 않는 것같다.

금요일 저녁부터 선필이가 아프기 시작해서 토요일까지… 뭐 죽 끓이고, 약 사오고, 지원이와 놀아주고…(이게 젤 힘들었군) 정도의 일이 있긴 했지만, 뭐 그래도 대부분의 시간은 선필이랑 같이 방안에 누워 명작 ‘연애시대’를 봤으니, 쉬긴 한건가?

다시 봤지만, 여전히 엄청 울었다. ㅡ.ㅡ;;

내일은 교보 문고에 잠시 들러서 내년을 위한 planner를 사야겠다.

Tags: , .

몸살

December 6th, 2007 by exedra

지난 22일 논문발표일 전으로 2주간 밤새면서 실험하고, 발표 끝나자 지원이가 아파서 일주일간 병간호하고, 전혀 쉬지 못한 상태로 이번 주에 계속 학교에 나왔더니 이젠 한계다. 그래서 내일 하루 좀 쉬겠다고 교수님께 말씀드렸다.

이제 좀 쉬어야겠다. 너무 힘들다. ㅡ.ㅡ;;

Tags: No Tags .

Hunter 39 Level

December 5th, 2007 by exedra

세나섭의 헌터가 드디어 39레벨이 되었다!! 곧 말 탈 수 있다. 수용이한테 어서 돈을 마련해 놓으라고 해야겠다. ㅋㅋ

godaddy.com에 계정 신청한 것은 오늘 해지했다. 결정적으로, TextCube를 설치하는데 설치가 되지 않는게 아닌가…ㅡ.ㅡ;; 아파치에 mod_rewrite / mod_alias 가 설정되어 있어야 하는데 설정되어 있지 않아서였다. 자동으로 매월 결재되는 금액이 약 7,000원 정도인데, woweb.net에서는 1년 6개월에 11,000원이다.

devnuri.com에는 TextCube로 blog를 설치해야겠다.

Tags: No Tags .

간단한 function pointer 예제

December 4th, 2007 by exedra

function pointer tutorial의 첫 단락을 보고 간단한 예제를 만들어 보았다.

클래스 A는 fpShout라는 function pointer를 member variable로 가지고 있다. 

class A
{
    private:
        void (*fpShout)();
    public:
        A() { fpShout = NULL; };
        void setShout(void (*fpFunc)()) { fpShout = fpFunc; };
        void Shout()
        {
            if (fpShout == NULL)
                cout << “fpShout is NULL” << endl;
            else
                fpShout();
        };
};

전역으로 ShoutA()와 ShoutB()라는 함수를 선언하고 정의한다.

void ShoutA() { cout << “A” << endl; };
void ShoutB() { cout << “B” << endl; };

클래스 B는 member variable로 클래스 A를 가지고 있으며  Shout()를 호출하면 자신의 메소드인 ShoutC()를 A에게 세팅하여 A의 Shout()를 호출한다.

class B
{
    private:
        static void ShoutC() { cout << “C” << endl; };
        A a;
    public:
        void Shout()
        {
            a.setShout(&ShoutC);
            a.Shout();
        };
};

main함수에서는 먼저 fpShout에 아무 것도 할당하지 않은 상태로 A의 인스턴스의 Shout()를 호출하고, 그 후 전역 함수인 ShoutA()와 ShoutB()를 각각 할당한 후 A의 Shout()를 호출한다. 마지막으로 B의 인스턴스에 대해 Shout()를 호출한다.

int main()
{
    A a;
    a.Shout();
    a.setShout(&ShoutA);
    a.Shout();
    a.setShout(&ShoutB);
    a.Shout();
    B b;
    b.Shout();
}

function pointer를 member variable로 가질 경우 먼저 NULL로 설정한 후 항상 NULL 체크를 한 후에 실행될 수 있도록 해야 한다.

위 code를 컴파일해서 실행해 보면 아래와 같은 결과가 나온다.

fpShout is NULL
A
B
C

Tags: No Tags .

C++

December 4th, 2007 by exedra

현재 C++에서 전혀 모르겠는 부분이 function pointer 부분이다. 급한 일들이 끝나고 나니 그 후유증인지 낮에 뭘 해야될지 잘 모르겠는데, 오늘부터 며칠간은 function pointer나 공부해야겠다.

어차피 곧 삼성 프로젝 관련 코딩이랑, nhn프로젝 관련 코딩을 해야할텐데… 쓰일지는 모르겠지만, 계속 모른 채로 두는 건 좀 개운하지 못한 기분이 든다.

Tags: No Tags .