|
|
|
[edit]
ÀÏ¹Ý #
[edit]
¼Ò°³ #libsigc++ ´Â Ç¥ÁØ C++¿¡¼ÀÇ Å¸ÀÔ¾ÈÀü¼ºÀ» º¸ÀåÇÏ´Â(typesafe) ÄÝ¹é ½Ã½ºÅÛÀ» ±¸ÇöÇϰí ÀÖ½À´Ï´Ù. ÀÌ ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ¿© ½ÅÈ£(signal)À» Á¤ÀÇÇϰí ÀÌµé ½ÅÈ£¸¦ Àü¿ªÇÔ¼ö°Ç ¸É¹öÇÔ¼öÀ̰ǰ£¿¡ Á¤ÀûÀ̰ųª °¡»óÇÔ¼ö¿©ºÎ¿¡ °ü°è¾øÀÌ ¸ðµç ƯÁ¤ Äݹé ÇÔ¼ö¿¡ ¿¬°áÇÏ´Â ÀÛ¾÷À» ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¶ÇÇÑ ºñ½ÁÇÑ ÇüŰ¡ ¾Æ´Ñ ÄݹéÇÔ¼ö¿ÍÀÇ ¿¬°áÀ» À§ÇÑ ¾Æ´äÅÍ(adaptor)Ŭ·¡½º¸¦ ´ã°í ÀÖÀ¸¸ç, ´Ù¸¥ C++ ÄÝ¹é ¶óÀ̺귯¸®¿Í ¸ÂÁö¾Ê´Â ÇÔ¼ö±¸Á¶¸¦ ½±°Ô »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù.
ÀÌ ¶óÀ̺귯¸®´Â LGPL ¶óÀ̼¾½º¸¦ µû¸¨´Ï´Ù.
[edit]
±â´É #
[edit]
½Ã±×³Î-½½·Ô ¹æ½ÄÀ̶õ? #¿©±â¼´Â C++À» ¾ð±ÞÇϰí ÀÖ´Ù´Â °ÍÀ» ¸ÕÀú ¸»ÇصӴϴÙ. ½Ã±×³Î-½½·ÔÀº ÇϳªÀÇ ÇÁ·Î±×·¡¹Ö °³³äÀ» ¸»ÇÕ´Ï´Ù. Ŭ·¡½º ¶Ç´Â ¸ðµâÀ» ÀÛ¼ºÇϰí À̵é Ŭ·¡½º°¡ ¸î¸î µ¥ÀÌŸ¸¦ Ŭ·¡½º ¹ÛÀ¸·Î Àü¼ÛÇϱ⸦ ¿øÇÒ °æ¿ì, ¿¹¸¦ µéÀÚ¸é:
class mygame {
public:
void startgame(); // Áï½Ã ¹ÝȯµÊ!
};
ÀÌÁ¦ °ÔÀÓÀÌ ³¡³ªÀÚ¸¶ÀÚ, Ŭ·¡½º´Â ´Ù¸¥ Ŭ·¡½ºµé¿¡°Ôµµ ÀÌ »ç½ÇÀ» ¸»ÇÏ°í ½ÍÀ» °Ì´Ï´Ù. À̰ÍÀº À̺¥Æ®¿¡ ÀÇÇØ ó¸®ÇÒ ¼ö ÀÖ°ÚÁö¸¸, ¿À¹ö·Îµù°ú °°Àº ´Ù¸¥ °ñÄ¡¾ÆÇ °³³äµéÀ» µµÀÔÇØ¾ßÇϰÚÁÒ. ÀÌ·¸°Ô ÇϱâÀ§Çؼ ½Ã±×³Î-½½·Ô ¹æ½ÄÀ» µµÀÔÇÑ´Ù¸é, mygameÀº gameterminated()¶ó°í ÇÏ´Â ½ÅÈ£(signal)À» ÄÑÁֱ⸸ ÇÏ¸é µÇ¸ç, ¸¸¾à ´Ù¸¥ ¾î¶² °´Ã¼°¡ ÀÌ ½ÅÈ£¿¡ ¿¬°áµÇ¾îÀÖ´Ù¸é ±×°ÍÀº ÀÚ½ÅÀÇ ½½·Ô ÇÔ¼ö¾È¿¡¼ Á¤º¸¸¦ ¹Þ°Ô µÉ °Ì´Ï´Ù.
|
|
|||||||||