GpgStudy °Ô½ÃÆÇ À妽º GpgStudy
Game Programming Gems Åä·Ð
 
 FAQFAQ   °Ë»ö°Ë»ö   ¸â¹ö¸®½ºÆ®¸â¹ö¸®½ºÆ®   »ç¿ëÀÚ ±×·ì»ç¿ëÀÚ ±×·ì  À̹ÌÁö ÀÚ·á½ÇÀ̹ÌÁö ÀÚ·á½Ç   »ç¿ëÀÚ µî·ÏÇϱâ»ç¿ëÀÚ µî·ÏÇϱâ 
 °³ÀÎ Á¤º¸°³ÀÎ Á¤º¸   ÂÊÁö(°³ÀÎ ¸Þ½ÃÁö)¸¦ È®ÀÎÇÏ·Á¸é ·Î±×ÀÎÇϽʽÿÀÂÊÁö(°³ÀÎ ¸Þ½ÃÁö)¸¦ È®ÀÎÇÏ·Á¸é ·Î±×ÀÎÇϽʽÿÀ   ·Î±×Àηα×ÀΠ
GpgStudy ȨÀ¸·Î

function static ½ºÅ¸ÀÏÀÇ Singleton ¹ö±×?

 
Àá±è[?]    GpgStudy °Ô½ÃÆÇ À妽º -> ÇÁ·Î±×·¡¹Ö ÀϹÝ
ÀÌÀü ÁÖÁ¦ º¸±â :: ´ÙÀ½ ÁÖÁ¦ º¸±â  
±Û¾´ÀÌ ¸Þ½ÃÁö
·¹ÀÌ¿Ê
¼Õ´Ô





¿Ã¸®±âfunction static ½ºÅ¸ÀÏÀÇ Singleton ¹ö±×? ¿Ã·ÁÁü: 2004-02-04 10:53
Àοë°ú ÇÔ²² ´äº¯ ÀÌ °Ô½Ã¹°À» del.icio.us¿¡ Ãß°¡

±ÍÂ÷´ÏÁò ¶§¹®¿¡ 3rd party singleton library ¸¦ »ç¿ëÇÏÁö ¾Ê°í, ±×³É ÇÁ·Î±×·¥¿¡¼­ ÁÖÀDZí°Ô Àß
¾²¸®¶ó°í ¹Ï°í, Àß ¾Ë·ÁÁø function static ¹æ½ÄÀÇ ½Ì±ÛÅæÀ» ¾²°í ÀÖ½À´Ï´Ù. ^^

class A
{
static A * Instance()
{
static A s_Instance;
return &s_Instance;
}

private :
A() {}
};

¹ú½á ¸î ´Þ° ÀÌ·± ½ÄÀ¸·Î ¸ÖƼ¾²·¹µå¿¡¼­µµ ¾Æ¹« ¹®Á¦ ¾øÀÌ Àß ¾²°í Àִµ¥, °©ÀÚ±â ÀÌ»óÇÑ Çö»óÀÌ
¹ß°ßµÇ¾ú½À´Ï´Ù. Debug Build ¿¡¼­´Â ±¦Âú¾Ò´Âµ¥, Release Build ¿¡¼­ ½Ì±ÛÅæ »ý¼ºÀÚ°¡ 2¹ø
È£ÃâÀÌ µÇ´Â °ÍÀÌ ¾Æ´Õ´Ï±î!!! (Release ¿¡¼­ »ý¼ºÀÚ¿¡ ºê·¹ÀÌÅ©¸¦ °É°í ÃßÀûÇØº¸´Ï 2¹øÀ̳ª ¸ØÃß´õ±º¿ä)

´ç¿¬È÷ »ý¼ºÀÚ´Â private ¿©¼­ ¿ÜºÎ¿¡¼­´Â È£ÃâÀÌ µÇÁö ¾Ê¾Ò°í, ´ÜÁö Instance() ¿¡¼­¸¸ È£ÃâÀÌ µÇ´õ±º¿ä.
±×·¡¼­, ¹®Á¦¸¦ Á¶»çÇØº¸´Ï ¶óÀ̺귯¸®¿¡´Ù°¡ ½Ì±ÛÅæÀ» ±¸ÇöÇϰí À̸¦ ½ºÅÂÆ½ ¸µÅ©Çؼ­ ¾µ °æ¿ì ¶§¶§·Î
ÀÌ ¹®Á¦¸¦ Á¢Çß´Ù´Â µ¿·áµéÀÇ Áõ¾ðÀÌ ÀÖ¾ú½À´Ï´Ù. Release ¿¡¼­ ·±Å¸ÀÓ ´ÙÁß¾²·¹µå DLL ¹æ½ÄÀ¸·Î ÇÁ·ÎÁ§Æ®¸¦
¼¼ÆÃÇØµÐ »óÅ·Î, ´Ü¼øÇÑ »ùÇà ÇÁ·ÎÁ§Æ®¿¡¼­ Å×½ºÆ®ÇغÃÀ» ¶§¿¡´Â º° ¹®Á¦´Â ¾ø¾ú½À´Ï´Ù. - -;

°á±¹ ÀÌ ¹®Á¦´Â class static À¸·Î ±¸ÇöÀ» º¯°æÇؼ­ ÇØ°áÇß½À´Ï´Ù. °ú¿¬ ÀÌ·± Çö»óÀº ¹«¾ù¶§¹®Àϱî¿ä?
À§·Î
Reiot



°¡ÀÔ: 2003³â 10¿ù 16ÀÏ
¿Ã¸° ±Û: 133

¿Ã¸®±â ¿Ã·ÁÁü: 2004-02-04 10:55
Àοë°ú ÇÔ²² ´äº¯ ÀÌ °Ô½Ã¹°À» del.icio.us¿¡ Ãß°¡

°³¹ßȯ°æÀº XP Pro, Visual Studio 2003, Win32ÀÔ´Ï´Ù.
_________________
·¹ÀÌ¿Ê(Reiot) at http://reiot.com
À§·Î
»ç¿ëÀÚ Á¤º¸ º¸±â ÂÊÁö º¸³»±â À̸ÞÀÏ º¸³»±â ±Û ¿Ã¸°ÀÌÀÇ À¥»çÀÌÆ® ¹æ¹®
loozend



°¡ÀÔ: 2003³â 1¿ù 16ÀÏ
¿Ã¸° ±Û: 32

¿Ã¸®±âÀúµµ °°Àº Çö»óÀ» ´çÇØºÃ´Âµ¥¿ä... ¿Ã·ÁÁü: 2004-02-04 11:07
Àοë°ú ÇÔ²² ´äº¯ ÀÌ °Ô½Ã¹°À» del.icio.us¿¡ Ãß°¡

Debug¸ðµå¿¡¼­´Â inline function expansionÀÌ DisableµÇ¾îÀ־ ¾Æ¹«·± ¹®Á¦°¡ ¾ø´Âµ¥

Release¸ðµå¿¡¼­´Â inlineÀ¸·Î µÇ¾î¼­ ¹®Á¦°¡ »ý±â´Â °Å´õ±º¿ä

cppÆÄÀÏ¿¡ ÄÚµùÇØÁÖ¼¼¿ä...@.@a
À§·Î
»ç¿ëÀÚ Á¤º¸ º¸±â ÂÊÁö º¸³»±â À̸ÞÀÏ º¸³»±â MSN ¸Þ½ÅÀú
sparrowhawk
¼Õ´Ô





¿Ã¸®±âÀúµµ ´çÇß½À´Ï´Ù. ¿Ã·ÁÁü: 2004-02-04 11:44
Àοë°ú ÇÔ²² ´äº¯ ÀÌ °Ô½Ã¹°À» del.icio.us¿¡ Ãß°¡

.Net 2003 ¾¹´Ï´Ù.

Àúµµ ´çÇß½À´Ï´Ù. ÀζóÀÌ´×ÀÌ µÇ´Â °Í °°´õ±º¿ä.
ÇÔ¼ö º»¹®À» cpp·Î »©´Ï Àß µË´Ï´Ù.

more effective c++ º¸¸é, Ç¥ÁØ¿¡¼­´Â staticº¯¼ö´Â ÀζóÀÌ´×ÀÌ ¾ÈµÈ´Ù°í ³ª¿Í Àִµ¥.
ÀÌ»óÇÑ ÀÏÀÌ´õ±º¿ä. Á¶½ÉÇØ¼­ ½á¾ß ÇÒ µí ÇÕ´Ï´Ù.
À§·Î
sparrowhawk
¼Õ´Ô





¿Ã¸®±â.. Ãß°¡·Î.. ¿Ã·ÁÁü: 2004-02-04 11:47
Àοë°ú ÇÔ²² ´äº¯ ÀÌ °Ô½Ã¹°À» del.icio.us¿¡ Ãß°¡

Àü¿¡ ÅÛÇø´ Ŭ·¡½º¿¡¼­ Àú·± ½ºÅ¸ÀÏ ¾²´Ù°¡ ´ë·« ³¶ÆÐº» °æÇèÀÌ À־..
(ÅÛÇø´Àº cppÆÄÀÏ¿¡ ³ÖÀ» ¼ö°¡ ¾øÁö¿ä --;;..)

ÇÏ·çÄ¡ ÄÚµå ÀüºÎ ³¯·Á¸Ô°í, ±¸Á¶ º¯°æÇؼ­ ÀüºÎ ´Ù½Ã ÄÚµùÇß´ø ¾ÆÇ Ãß¾ïÀÌ ÀÖÁö¿ä T_T;;
À§·Î
Reiot



°¡ÀÔ: 2003³â 10¿ù 16ÀÏ
¿Ã¸° ±Û: 133

¿Ã¸®±â ¿Ã·ÁÁü: 2004-02-04 14:23
Àοë°ú ÇÔ²² ´äº¯ ÀÌ °Ô½Ã¹°À» del.icio.us¿¡ Ãß°¡

Windows °³¹ßÀÚ¿¡ ÇÑÇØ __declspec(noinline) À» »ç¿ëÇØµµ µÉ µí Çϱº¿ä...
_________________
·¹ÀÌ¿Ê(Reiot) at http://reiot.com
À§·Î
»ç¿ëÀÚ Á¤º¸ º¸±â ÂÊÁö º¸³»±â À̸ÞÀÏ º¸³»±â ±Û ¿Ã¸°ÀÌÀÇ À¥»çÀÌÆ® ¹æ¹®
Testors



°¡ÀÔ: 2003³â 7¿ù 26ÀÏ
¿Ã¸° ±Û: 557
¼Ò¼Ó: (ÁÖ)nFlavor


Ÿ »çÀÌÆ® ID(?):
48179650
¿Ã¸®±â ¿Ã·ÁÁü: 2004-12-06 12:33
Àοë°ú ÇÔ²² ´äº¯ ÀÌ °Ô½Ã¹°À» del.icio.us¿¡ Ãß°¡

²Ï ¹¬Àº ÁÖÁ¦Àδ٠´Ù¸¥ ±Û( http://www.gpgstudy...iewtopic.php?p=18250 ) ´öºÐ¿¡ ´ñ±Û ´Þ°Ô µÇ¾ú³×¿ä.. 500¿øÀº ¼ÒÁßÇÑ °ÍÀ̱⿡.. ^^;

Àοë:
9.3.6 A static local variable in a member function always refers to the same object, whether or not the member function is inline.


À§¿Í°°ÀÌ static local variable À» °¡Áö´Â ÇÔ¼ö´Â º¯¼ö´Â ±×°Ô ÀζóÀÎÀÌµç ¾Æ´Ïµç Ç×»ó °°Àº °´Ã¼¸¦ ÂüÁ¶ÇÑ´Ù°í Ç¥ÁØ¿¡ ¸í½ÃµÇ¾î Àִµ¥¿ä.. (º¸Åë ±×·¡¼­ ¾Æ¿¹ ÀζóÀÌ´×ÀÌ µÇÁö ¾ÊÁÒ)

Á¦°¡ Å×½ºÆ®Çغ¸´Ï .Net 2003 C++ ÄÄÆÄÀÏ·¯¿¡¼­ ±×°ÍÀÌ ÁöÄÑÁö´Â°ÍÀ» È®ÀÎÇß½À´Ï´Ù.

(Ȥ½Ã static local variable º¯¼ö¸¦ »ç¿ëÇϴµ¥µµ ÀζóÀÌ´×ÀÌ µÇ´Â ¿¹Á¦°¡ ÀÖ´Ù¸é Á¦º¸ ºÎŹ µå¸³´Ï´Ù. ^^ )

¸ÖƼ¾²·¹µù ȯ°æÀ̾ú´Ù´Ï.. Á¦°¡ ´Ù¸¥ °¡´É¼ºÀ» ÇѰ¡Áö Á¦½ÃÇØ º¸ÁÒ. (½ÇÁ¦·Î °Þ¾ú´ø ÀÏÀÔ´Ï´Ù)

ÄÚµå:
void func()
{
    static TEMP t;
}


À§ÀÇ ÇÔ¼ö´Â ½ÇÁ¦·Î´Â ÄÄÆÄÀÏ·¯¿¡ ÀÇÇØ ¾Æ·¡¿Í °°ÀÌ ±¸ÇöµË´Ï´Ù.

ÄÚµå:
char __buffer[sizeof(TEMP)];

void __destroyer()
{
    ((TEMP*)__buffer)->~TEMP();
}

void func()
{
    static bool __init_flag;	// ÃʱâÈ­ µÇ¾ú´ÂÁö °Ë»ç

    if( !__init_flag )	
    {
        // # STEP 1
        new (__buffer) TEMP();	// »ý¼ºÀÚ È£Ãâ
        init_flag = true;	// Ç÷¡±× ¼¼ÆÃ
        atexit( __destroyer);	// ÇÁ·Î±×·¥ Á¾·á½Ã ¼Ò¸êÀÚ È£ÃâµÇµµ·Ï ¿¹¾à
    }
}


½ÇÁ¦·Î´Â ¹öÆÛ°¡ func() ¾È¿¡ Á¸ÀçÇϴµîÀÇ ¿À¹¦ÇÑ Â÷ÀÌ´Â ÀÖÁö¸¸ ±×³É ³Ñ¾î°¡µµ·Ï ÇÏÁÒ. ^^;

Áß¿äÇѰÍÀº ³»ºÎÀûÀ¸·Î Ç÷¡±×¸¦ µÎ°í ±×°Í¿¡ µû¶ó¼­ »ý¼ºÀÚ¸¦ È£ÃâÇÑ´Ù´Â °ÍÀä..

°æÇ踹À¸½Å ºÐµéÀº ¾Æ½Ã°ÚÁö¸¸, À§ÀÇ ÄÚµå´Â ¸ÖƼ¾²·¹µå ȯ°æ¿¡¼­ ¿©·¯°³ÀÇ ¾²·¹µå°¡ µ¿½Ã¿¡ ÇØ´ç ÇÔ¼ö¸¦ È£Ãâ½Ã µ¿±âÈ­ ¹®Á¦°¡ ¹ß»ýÇÕ´Ï´Ù.

±×·¯´Ï±î ÀÌ·± ¼ÀÀÔ´Ï´Ù.

1. ¾²·¹µå 1ÀÌ func() ¸¦ È£ÃâÇß½À´Ï´Ù.
2. STEP 1 ±îÁö ÁøÇàµÇ°í ¾²·¹µå 2·Î context-switching µÇ¾ú½À´Ï´Ù.
3. ¾²·¹µå 2°¡ func() ¸¦ È£ÃâÇϰí, Á¤»óÀûÀ¸·Î TEMP ÀÇ »ý¼ºÀÚ¸¦ È£ÃâÇß½À´Ï´Ù.
4. ´Ù½Ã context-switching µÇ¾î¼­ ¾²·¹µå 1ÀÌ ÁøÇàÀ» °è¼ÓÇÕ´Ï´Ù. Ç÷¡±× °Ë»ç´Â ÀÌ¹Ì ³¡³­ »óÅÂÀÌ°í °á±¹ »ý¼ºÀÚ°¡ µÎ¹ø È£ÃâµÇ°Ô µË´Ï´Ù.

Àú°°Àº °æ¿ì´Â ÀÌ ¹®Á¦¸¦ ¾Æ·¡¿Í °°ÀÌ ÇØ°áÇß½À´Ï´Ù.

ÄÚµå:
void func()
{
    EnterCriticalSection( &cs );
    static TEMP t;
    LeaveCriticalSection( &cs );
}


(*: ¸ÖƼ ¾²·¹µå ȯ°æ¿¡¼­ static local variable Àº ¸ðµÎ À§¿Í °°ÀÌ µ¿±âÈ­ °´Ã¼·Î º¸È£µÇ¾î¾ß ÇÕ´Ï´Ù. )


¸¸¾à ÄÄÆÄÀÏ·¯°¡ Á˰¡ ¾ø´Ù¸é..

inline À» ÇØÁ¦Çß´õ´Ï Áõ»óÀÌ »ç¶óÁø°ÍÀº jmp ÀνºÆ®·°¼Ç¿¡ ÀÇÇØ context-switching ŸÀ̹ÖÀÌ ¹Ì¹¦ÇÏ°Ô Æ²·ÁÁ®¼­ ¹®Á¦°¡ ÀϾÁö ¾ÊÀº°Ô ¾Æ´Ò±î ½Í½À´Ï´Ù.
_________________
ÇøÓ/¸ðµ¨·¯/¾Ö´Ï¸ÞÀÌÅÍ ±¸ÇØ¿° **Çö¿ª/º¸Ã濪 º´Æ¯°¡´É** / http://testors.net/
À§·Î
»ç¿ëÀÚ Á¤º¸ º¸±â ÂÊÁö º¸³»±â À̸ÞÀÏ º¸³»±â ±Û ¿Ã¸°ÀÌÀÇ À¥»çÀÌÆ® ¹æ¹® MSN ¸Þ½ÅÀú
ºñȸ¿ø
¼Õ´Ô





¿Ã¸®±â ¿Ã·ÁÁü: 2004-12-06 12:50
Àοë°ú ÇÔ²² ´äº¯ ÀÌ °Ô½Ã¹°À» del.icio.us¿¡ Ãß°¡

Àοë:
À§¿Í°°ÀÌ static local variable À» °¡Áö´Â ÇÔ¼ö´Â º¯¼ö´Â ±×°Ô ÀζóÀÎÀÌµç ¾Æ´Ïµç Ç×»ó °°Àº °´Ã¼¸¦ ÂüÁ¶ÇÑ´Ù°í Ç¥ÁØ¿¡ ¸í½ÃµÇ¾î Àִµ¥¿ä.. (º¸Åë ±×·¡¼­ ¾Æ¿¹ ÀζóÀÌ´×ÀÌ µÇÁö ¾ÊÁÒ)

Á¦°¡ Å×½ºÆ®Çغ¸´Ï .Net 2003 C++ ÄÄÆÄÀÏ·¯¿¡¼­ ±×°ÍÀÌ ÁöÄÑÁö´Â°ÍÀ» È®ÀÎÇß½À´Ï´Ù.

(Ȥ½Ã static local variable º¯¼ö¸¦ »ç¿ëÇϴµ¥µµ ÀζóÀÌ´×ÀÌ µÇ´Â ¿¹Á¦°¡ ÀÖ´Ù¸é Á¦º¸ ºÎŹ µå¸³´Ï´Ù. ^^ )


Àú °°Àº °æ¿ì´Â static local variable º¯¼ö°¡ inlineÀÌ µÇ´Â°É ¸ñ°Ý Çß½À´Ï´Ù ^^; ( ¾î¼Àºí¸® ÄÚµå È®ÀÎ)
¾Æ·¡¿Í °°Àº ÄÚµå Àä..

ÄÚµå:
for( int i = 0; i < 10; ++i)
{
    Singletone::GetInstance()->Func();
}


À§¿Í °°Àº °æ¿ì ÄÄÆÄÀÏ·¯°¡ inlineÀ¸·Î for loop ¾ÈÀÇ GetInstance() functionÀ» Ç®¾î ¹ö¸®´õ±º¿ä.Ç®¾î¹ö·Áµµ Á¦´ë·Î Ç®¸®¸é ¹®Á¦°¡ ¾øÀ»ÅÙµ¥, ÀÌ°Ô °¡²û Á¦´ë·Î ¾ÈÇ®¸®´Â ³ðÀÌ ÀÖ½À´Ï´Ù. ¾î¼Àºí¸® Äڵ带 È®ÀÎÇØ º» °á°ú, static objectÀÇ init flag¸¦ ÀúÀåÇÏ´Â ¸Þ¸ð¸® ÁÖ¼ÒÀÇ °ªÀÌ Ç®¸°³ðÀ̶û ¾È Ç®¸°³ðÀÌ Æ²·ÁÁ®¼­, °á±¹ ´Ù½Ã Çѹø »ý¼ºÀÚ¸¦ È£ÃâÇÏ°Ô µÇ´Â °ÍÀÌÁö¿ä. ( ¸Þ¸ð¸® ÁÖ¼Ò°¡ Ç×»ó Æ²¸®¸é Â÷¶ó¸® ±¦ÂúÀºµ¥, ¹®Á¦´Â Ç×»ó Æ²¸®Áö ¾Ê°í, °°Àº °æ¿ìµµ ²Ï ¸¹¾Æ¼­ Á¦´ë·Î µ¹¾Æ°¡´Â °æ¿ì°¡ ´õ ¸¹´õ±º¿ä)

»ç¿ë ȯ°æÀº static library·Î ºôµåÇØ¼­ ´Ù¸¥ ÇÁ·Î±×·¥ÀÌ ¸µÅ©½ÃÄÑ »ç¿ëÇß´ø °æ¿ìÀ̱¸¿ä..(µÎ°³ÀÇ ÇÁ·Î±×·¥Àε¥ ÀüºÎ MFC ȯ°æ¿¡, Çϳª´Â Àß µ¹¾Æ°¡°í, Çϳª´Â Àß µ¹¾Æ°¡Áö ¾Ê´õ±º¿ä -_-)

À§ÀÇ Äڵ带 ¾Æ·¡¿Í °°ÀÌ ¹Ù²å´õ´Ï inlineÀ¸·Î Ç®Áö ¾Ê°í Àß µ¹¾Æ°¡´õ±º¿ä..
ÄÚµå:
Instance* inst = Singltone::GetInstance();
for( int i = 0; i < 10; ++i)
{
    inst ->Func();
}
À§·Î
Testors



°¡ÀÔ: 2003³â 7¿ù 26ÀÏ
¿Ã¸° ±Û: 557
¼Ò¼Ó: (ÁÖ)nFlavor


Ÿ »çÀÌÆ® ID(?):
48179650
¿Ã¸®±â ¿Ã·ÁÁü: 2004-12-06 12:57
Àοë°ú ÇÔ²² ´äº¯ ÀÌ °Ô½Ã¹°À» del.icio.us¿¡ Ãß°¡

Àοë:
ÄÚµå:
for( int i = 0; i < 10; ++i)
{
    Singletone::GetInstance()->Func();
}


À§¿Í °°Àº °æ¿ì ÄÄÆÄÀÏ·¯°¡ inlineÀ¸·Î for loop ¾ÈÀÇ GetInstance() functionÀ» Ç®¾î ¹ö¸®´õ±º¿ä.Ç®¾î¹ö·Áµµ Á¦´ë·Î Ç®¸®¸é ¹®Á¦°¡ ¾øÀ»ÅÙµ¥, ÀÌ°Ô °¡²û Á¦´ë·Î ¾ÈÇ®¸®´Â ³ðÀÌ ÀÖ½À´Ï´Ù.


Èï¹Ì·Ó±º¿ä..

Å×½ºÆ® ÇØ º¸¾Ò´Âµ¥ Á¦ÂÊ¿¡¼­´Â for loop ¾È¿¡ ³Ö´Â´Ù°í ÇØ¼­ ÀζóÀÎ µÇ´Â °æ¿ì´Â ¾ø´Â°Í °°³×¿ä.

¹º°¡ ´Ù¸¥ Á¶°ÇÀÌ ÇÊ¿äÇÒ°Í °°Àºµ¥..

(È®½ÇÇÑ Á¶°ÇÀ» ¾Ë°í ÀÖ´Â°Ô ¾Æ´Ï¶ó¸é loop ¹ÛÀ¸·Î »©´Â Á¶Ä¡´Â ¿©ÀüÈ÷ ÀáÀçÀûÀÎ ¹®Á¦°¡ ³²¾ÆÀÖ´Ù°í º¼ ¼ö ÀÖ°ÚÁÒ.. ; )

Ç¥ÁØÀ» ¹«½ÃÇϰí ÀζóÀÌ´× µÇ´Â ¿¹Á¦Äڵ尡 ¿Ã¶ó¿À¸é °¡Àå È®½ÇÇÒ°Í °°³×¿ä. ^^
_________________
ÇøÓ/¸ðµ¨·¯/¾Ö´Ï¸ÞÀÌÅÍ ±¸ÇØ¿° **Çö¿ª/º¸Ã濪 º´Æ¯°¡´É** / http://testors.net/
À§·Î
»ç¿ëÀÚ Á¤º¸ º¸±â ÂÊÁö º¸³»±â À̸ÞÀÏ º¸³»±â ±Û ¿Ã¸°ÀÌÀÇ À¥»çÀÌÆ® ¹æ¹® MSN ¸Þ½ÅÀú
ºñȸ¿ø
¼Õ´Ô





¿Ã¸®±â ¿Ã·ÁÁü: 2004-12-06 13:11
Àοë°ú ÇÔ²² ´äº¯ ÀÌ °Ô½Ã¹°À» del.icio.us¿¡ Ãß°¡

¿ª½Ã³ª ½±°Ô ÀçÇöÀÌ ¾ÈµÇ³×¿ä -.- Á»´õ Á¤È®ÇÑ Äڵ带 ¿Ã·Á µå¸®¸é ^^;;

ÄÚµå:
DWORD dwCount = Singletone::GetInstance()->GetCount();

for(DWORD i = 0; i < dwCount; ++i)
{
    Element* pElmt = Singletone::GetInstance()->GetElmt( i );
}


ÄÚµå:
Singletone ±¸ÇöÀº ¾Æ·¡¿Í °°ÀÌ Çß½À´Ï´Ù.... 

template
class StaticCreate
{
public:
	static T* GetInstance()
	{
		static T Obj;
		return &Obj;
	}

	static void CreateInstace()
	{
		assert(false && "Invalid Calling for Static Singletone");
	}
	static void ReleaseInstace()
	{
		assert(false && "Invalid Calling for Static Singletone");
	}
};


template >
class SingleTone
{
public:
	static T* GetInstance()
	{
		return CreateMethod::GetInstance();
	}    
	static void CreateInstace()
	{
		return CreateMethod::CreateInstace();
	}
	static void ReleaseInstace()
	{
		return CreateMethod::ReleaseInstace();
	}
protected:
	SingleTone()
	{
	}
	~SingleTone()
	{
	}
};
À§·Î
sphawk



°¡ÀÔ: 2004³â 5¿ù 28ÀÏ
¿Ã¸° ±Û: 149
¼Ò¼Ó: N¸ð»ç

¿Ã¸®±â ¿Ã·ÁÁü: 2004-12-06 13:59
Àοë°ú ÇÔ²² ´äº¯ ÀÌ °Ô½Ã¹°À» del.icio.us¿¡ Ãß°¡

À½.. Á¦°¡ °Þ¾ú´ø À̾߱⸦ ´Ù½Ã ÇÏÀÚ¸é..
¸ÖƼ½º·¹µå ¹®Á¦´Â ¾Æ´ÔÀÌ È®½ÇÇÕ´Ï´Ù. ¸ÖƼ½º·¹µå·Î ºôµåÇϱä Çߴµ¥
ÆÐŶ 󸮰¡ ÇÑ ½º·¹µå¿¡¼­¸¸ ÀÌ·ç¾îÁ®¼­, ó¸® ÂÊÀº ½Ì±Û½º·¹µå³ª
´Ù¸§ ¾ø¾ú½À´Ï´Ù.

¹®Á¦ »ý±ä °Ô.. ij¸¯ÅÍ Á¤º¸ Å×À̺íÀε¥. ÆÐŶÀ» ¹Þ¾ÒÀ» ¶§ ÀÌ°É Âü°íÇÏ´Â
ÆÐŶÀÌ Á» ÀÖ½À´Ï´Ù. ´Ù¸¥ ÆÐŶÀº ¸ÖÂÄÈ÷ Àß Ã³¸®µÇ´Âµ¥,
ƯÁ¤ ÆÐŶ¸¸ ¹ÞÀ¸¸é ij¸¯ÅÍ Á¤º¸ Å×ÀÌºí ³»¿ëÀÌ ¸ùâ ³¯¾Æ°¡´õ±º¿ä.
³ªÁß¿¡ È®ÀÎÇØº¸´Ï, ±× ·çƾ¿¡¼­¸¸ »ý¼ºÀÚ°¡ µÎ¹ø È£ÃâÀÌ µÇ´õ±º¿ä.
Ȥ½Ã ¹öÆÛ ¿À¹öÇÃ·Î¿ì °°Àº °Ô »ý°Ü¼­, flag¸¦ 0À¸·Î ¼¼ÆÃÇϳªµµ ã¾ÆºÃÁö¸¸
(Àü¿¡ ±×·± °Å Çѹø °É¸° Àû ÀÖ½À´Ï´Ù. ´©°¡ ¹è¿­ À妽º¸¦ °íÃÄ ³õ°í, enumÀ¸·Î Á¤ÀÇÇÑ MAX°ªÀ» ¾È´Ã·Á³õ¾Æ¼­.. --; ¾îÀ̾ø´õ±º¿ä. ÇÏÇÊ ±×°Ô flag¸¦ °Çµå·Á¼­ ½ß°í»ý°³°í»ýÀ» ÇÏ°Ô ¸¸µé´Ù´Ï..)
±×·± °Íµµ ¾Æ´Ï´õ±º¿ä..

¿ª½Ã ·¹À̿ʴ԰ú °°ÀÌ, ij¸¯ÅÍ Á¤º¸ Å×À̺íÀº
½ºÅÂÆ½ ¸ÖƼ½º·¹µðµå ¶óÀ̺귯¸®¿¡ ÀÖ¾ú½À´Ï´Ù.
ÇØ°áÃ¥Àº ¿ª½Ã GetInstance() º»¹®À» cpp·Î »©´Â °É·Î ÇØ°á ºÃ½À´Ï´Ù.

µð½º¾î¼ÀÇØº¸´Ï È®½ÇÈ÷ GetInstance()°¡ ÀζóÀÌ´×ÀÌ µÇ¾î ÀÖ´õ±º¿ä
ij¸¯ÅÍ Á¤º¸ Å×À̺íÀ» ³¯·Á¸ÔÀº°Å º¸´Ï, µ¥ÀÌÅÍ´Â °°Àº µ¥ÀÌÅ͸¦
ÂüÁ¶ÇÑ °Å °°°í.. flag´Â °°Àº Ç÷¡±×ÀÎÁö´Â ¸íÈ®ÇÏÁö°¡ ¾Ê³×¿ä.

¹¹ ÀÌÁ¦´Â Áö³­ À̾߱â¶ó °¡¹°°¡¹° Çϱº¿ä. ¾ðÁ¨°¡ ¶Ç °ÞÀ» °Å °°Àºµ¥
±×¶© ½Ã°£ ³»¼­ Á» Àß º¸µµ·Ï ÇÏÁö¿ä. »ùÇà Äڵ嵵 ¿Ã·Áº¸°í.
(¾Æ.. Âü°í·Î Àü Àú±â ºñȸ¿øÀ̶ó°í ±Û ¿Ã¸°»ç¶÷ ¾Æ´Õ´Ï´Ù.
Àú À§¿¡ sparrowhawk¶ó°í ¿Ã·È´ø »ç¶÷ÀÔ´Ï´Ù.)
_________________
sparrowhawk, from earthsea.
À§·Î
»ç¿ëÀÚ Á¤º¸ º¸±â ÂÊÁö º¸³»±â MSN ¸Þ½ÅÀú
ºñȸ¿ø
¼Õ´Ô





¿Ã¸®±âº°·Î ½Ì±ÛÅÏÀ̶û °ü·ÃÀº ¾øÁö¸¸ ÃÖÀûÈ­ °ü·ÃÇØ¼­ VC++6.0¿¡¼­ ´ç ¿Ã·ÁÁü: 2004-12-06 13:59
Àοë°ú ÇÔ²² ´äº¯ ÀÌ °Ô½Ã¹°À» del.icio.us¿¡ Ãß°¡

±ÍÂ÷´ÏÁòÀ¸·Î ÀÎÇØ ´ÙÀ½°ú °°Àº Äڵ带 §ÀûÀÌ ÀÖ½À´Ï´Ù.
ULONG ulChecker = ((ubChecker += (UBYTE)A) << 24)
| ((ubChecker += (UBYTE)B) << 16)
| ((ubChecker += (UBYTE)C) << 8 )
| ((ubChecker += (UBYTE)D) << 0 );
°£´ÜÇÑ ÆÄÀÏ ¾Ïȣȭ °ü·ÃÀ̾ú½À´Ï´Ù.
µð¹ö±×³ª ÃÖÀûÈ­¸¦ ²ö °æ¿ì ¹®Á¦°¡ ¾ø´Âµ¥ ¸±¸®Áî ÃÖÀûÈ­¸¦ ۸é A,B,C,D°¡ A,A,A,AÀÎ°Í Ã³·³ µ¿ÀÛÇÏ´õ±º¿ä.
Àâ´À¶ó°í °í»ýÇß½À´Ï´Ù.;;;
Áö±ÝÀº ´Ù¸¥ ¹æ¹ýÀ¸·Î ¾²°í ÀÖÁö¸¸ ±×¶§ °í»ýÇѰŠ»ý°¢Çϸé...;
VC++ÀÇ ÃÖÀûÈ­ ±â´ÉÀº ²Ï³ª ÁÁÁö¸¸ ¹®Á¦°¡ ¾øÁö´Â ¾ÊÀº µí ÇÕ´Ï´Ù.
±×·³.
À§·Î
ÀÌÀü ±Û Ç¥½Ã:   
Àá±è[?]    GpgStudy °Ô½ÃÆÇ À妽º -> ÇÁ·Î±×·¡¹Ö ÀÏ¹Ý ½Ã°£´ë: GMT + 9 ½Ã°£(Çѱ¹)
ÆäÀÌÁö 1 Áß 1

ÀÌ ÁÖÁ¦¿¡ ´ëÇÑ Æ®·¢¹é ÁÖ¼Ò: (Âü°í)

±Û ÀÕ±â(½ÃÇèÁß): |

 
°Ç³Ê¶Ù±â:  
»õ·Î¿î ÁÖÁ¦¸¦ ¿Ã¸± ¼ö ¾ø½À´Ï´Ù
´ä±ÛÀ» ¿Ã¸± ¼ö ¾ø½À´Ï´Ù
ÁÖÁ¦¸¦ ¼öÁ¤ÇÒ ¼ö ¾ø½À´Ï´Ù
¿Ã¸° ±ÛÀ» »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù
ÅõÇ¥¸¦ ÇÒ ¼ö ¾ø½À´Ï´Ù


Powered by phpBB © 2001, 2005 phpBB Group