 |
GpgStudy Game Programming Gems Åä·Ð
|
 |
| ÀÌÀü ÁÖÁ¦ º¸±â :: ´ÙÀ½ ÁÖÁ¦ º¸±â |
| ±Û¾´ÀÌ |
¸Þ½ÃÁö |
mika
°¡ÀÔ: 2005³â 1¿ù 17ÀÏ ¿Ã¸° ±Û: 537
|
°¡º¯ °³¼ö ÀÎÀÚ |
¿Ã·ÁÁü: 2008-02-28 15:53
|
|
ÄÁÅ×À̳ʿ¡ °¡º¯ °³¼öÀÇ °ªÀ» ´ãÀ¸·Á°í ÇÕ´Ï´Ù.
Âü°í·Î °ªÀÇ Å¸ÀÔÀº ¸ðµÎ µ¿ÀÏÇÕ´Ï´Ù.
(´ã°íÀÚ ÇÏ´Â °¡º¯ °³¼öÀÇ °ªµéÀº ¸ðµÎ ÇϵåÄÚµùÀ¸·Î ³Ö½À´Ï´Ù. ±×·¸Áö ¾Ê´Ù¸é ÀÌ·± °í¹Îµµ ¾È ÇÒÅ×Áö¸¸¿ä..
Âü°í·Î ¾Æ·¡ ¿¹½Ã´Â ¿¹¸¦ À§ÇÑ ÄÚµåÀÏ »Ó ¾Æ¹«·± Àǹ̾ø´Â ÄÚµåÀÌ´Ï ¿Ö ÀÌ·±°Ô ÇÊ¿äÇϳĴ Áú¹®Àº ¸»¾ÆÁÖ¼¼¿ä~)
| ÄÚµå: |
std::vector a;
a.push_back(1);
a.push_back(2);
a.push_back(3); |
´ë·« À§¿Í °°Àº ÄÚµåÀε¥, °³¼ö¸¸Å push_backÀ» ÀÏÀÏÈ÷ È£ÃâÇÏ´Â °ÍÀÌ Âü º¸±â ¾È ÁÁ½À´Ï´Ù.
±×·¡¼ ´ÙÀ½°ú °°Àº Äڵ带 ±¸»ó Çϰí Àִµ¥¿ä,
| ÄÚµå: |
std::vector a; // Ŭ·¡½ºÀÇ ¸â¹ö
InsertValue(1, 2, 3); // ÇÔ¼ö ³»ºÎ¿¡¼ º¤ÅÍ a¸¦ »ç¿ëÇÔ |
°¡Àå °£´ÜÇÑ ¹æ¹ýÀº °¡º¯ Àμö ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â °ÅÁÒ.
ÇÏÁö¸¸ ´ÜÁ¡Àº °¡º¯ ÀÎÀÚÀÇ °³¼ö¸¦ ¸í½ÃÀûÀ¸·Î ½áÁÖ¾î¾ß ÇÕ´Ï´Ù.
| ÄÚµå: |
void SomeClass::InsertValue(int num, ...);
InsertValue(3, 1, 2, 3); // ÇÔ¼ö ù ÆÄ¶ó¹ÌÅÍ·Î °¡º¯ÀÎÀÚÀÇ °³¼ö 3À» ³Ö¾îÁÜ. |
±×·¡¼ ´Ù¸¥ ¹æ¹ýÀ¸·Î
http://www.gpgstudy...ighlight=operator%2C
À§ ¸µÅ©¿¡¼ ¾ð±ÞÇϰí ÀÖ´Â º¤ÅÍÀÇ ÄÞ¸¶ ¿¬»êÀÚ ÀçÁ¤ÀÇ ÀÔ´Ï´Ù.
| ÄÚµå: |
struct intclass
{
void setvalue( const std::vector& );
}
struct args_t : public std::vector {
args_t& operator,(const int rhs)
{
push_back(rhs);
return *this;
}
};
int main()
{
intclass x;
x.setvalue((args_t(), 1, 2, 3, 4));
return 0;
} |
¿©±â¿¡¼ÀÇ ´ÜÁ¡Àº °¡º¯ ÀÎÀÚÀÇ °³¼ö ´ë½Å args_t()¸¦ ¸í½ÃÀûÀ¸·Î »ý¼ºÇØ¾ß ÇÏÁÒ.
óÀ½°ú ºñ±³Çؼ º¹Àâµµ¿¡ ºñÇØ ÀüÇô ³ªÀº ¹æ¹ýÀÌ ¾Æ´Ñ °Í °°½À´Ï´Ù.
±×·¡¼ ¶Ç ´Ù¸¥ ¹æ¹ýÀº À§ ¹æ¹ýÀ» ¾²µÇ, ¸ÅÅ©·Î¸¦ »ç¿ëÇÏ¿© (args_t(), ...) ºÎºÐÀ» °¨Ãß´Â °Ì´Ï´Ù.
ÇÏÁö¸¸ ¸ÅÅ©·Î¸¦ »ç¿ëÇÑ´Ù´Â ÂòÂòÇÔÀÌ ÀÖ½À´Ï´Ù.
(Á¤ ¹æ¹ýÀÌ ¾øÀ¸¸é ÀÌÂÊÀ» ¾²·Á°í »ý°¢ ÁßÀÔ´Ï´Ù¸¶´Â.)
¸¶Áö¸·À¸·Î operator<<¸¦ ÀçÁ¤ÀÇÇÏ¿©
| ÄÚµå: |
std::vector a;
a << 1 << 2 << 3; |
ÀÌ·¸°Ô ¾²´Â ¹ýµµ ÀÖÁö¸¸, º¸±â¿¡ º°·Î ¿¹»ÚÁö ¾Ê¾Æ¼ ÆÐ½ºÀÔ´Ï´Ù.
¶Ç ´Ù¸¥ ¹æ¹ý ¾øÀ»±î¿ä?
| ÄÚµå: |
InsertValue(1, 2, 3);
InsertValue(21, 32, 86, 8, 18);
InsertValue(4, 5, 8, 9); |
ÀÌ·¸°Ô °£´ÜÈ÷ ¾²°í ½Í¾î¿ä~ |
|
| À§·Î |
|
 |
ºñȸ¿ø ¼Õ´Ô
|
|
¿Ã·ÁÁü: 2008-02-28 16:18
|
|
¾ÆÁÖ¾ÆÁÖ..´Ü¼øÈ÷ ÇϵåÄÚµù½º·´°Ô/Àå³½º·´°Ô »ý°¢ÇغýÀ´Ï´Ù.
¸î°³±îÁö ½á¾ßÇϽôÂÁö À߸ð¸£Áö¸¸...
ÇÑ 10°³ À̳»¸é Àß ¾µ¼ö ÀÖÁö ¾ÊÀ»±î ½ÍÀº »ý°¢ÀÌ....(-0-)
| ÄÚµå: |
Class IInsertMultiValue
{
public:
IInsertMultiValue() {}
virtual ~IInsertMultiValue(){}
public:
virtual void InsertValue( int arg1 ) = 0; // ÀÌ ³à¼®Àº ¼ø¼ö°¡»ó...
public:
void InsertValue( int arg1, int arg2 )
{
InsertValue( arg1 );
InsertValue( arg2 );
}
void InsertValue( int arg1, int arg2, int arg3 )
{
InsertValue( arg1 );
InsertValue( arg2 );
InsertValue( arg3 );
}
.......................................
}
|
|
|
| À§·Î |
|
 |
etds
°¡ÀÔ: 2004³â 7¿ù 20ÀÏ ¿Ã¸° ±Û: 194 ¼Ò¼Ó: (ÁÖ) ¾Ö´ÏÆÄÅ©
|
boost¸¦ ¾²¸é ºñ½ÁÇÑ °ÍÀ» ½±°Ô ÇÒ ¼ö ÀÖ±ä ÇÕ´Ï´Ù |
¿Ã·ÁÁü: 2008-02-28 16:20
|
|
boost¸¦ ¾²¸é ºñ½ÁÇÑ °ÍÀ» ½±°Ô ÇÒ ¼ö ÀÖ±ä ÇÕ´Ï´Ù.
| ÄÚµå: |
vector values;
values += 1,2,3,4,5,6,7,8,9;
map months;
insert( months )
( "january", 31 )( "february", 28 )
( "march", 31 )( "april", 30 );
const list primes = list_of(1)(2)(3)(5)(7)(11);
vector v = list_of(1)(2)(3)(4).to_container( v );
map next = map_list_of(1,2)(2,3)(3,4)(4,5)(5,6);
vector v = tuple_list_of( 1, "foo", 2 )( 3, "bar", 4 ); |
´ÜÁ¡À̶ó¸é, boost¸¦ ½á¾ß ÇÑ´Ù´Â °ÍÀ̰ڱº¿ä.  |
|
| À§·Î |
|
 |
mika
°¡ÀÔ: 2005³â 1¿ù 17ÀÏ ¿Ã¸° ±Û: 537
|
|
¿Ã·ÁÁü: 2008-02-28 16:35
|
|
ºñȸ¿ø´ÔÀÇ ¹æ¹ýÀº Á¤ÁßÈ÷ »ç¾çÇϰڽÀ´Ï´Ù. -¤·-;;;;
etds´ÔÀÇ ´äº¯ Áß
| ÄÚµå: |
vector values;
values += 1,2,3,4,5,6,7,8,9; |
¿©±â¿¡ °üÇÑ ºÎºÐÀ» ´õ ¾Ë°í ½Í½À´Ï´Ù.
boostÀÇ ¾î¶² ºÎºÐÀ» Âü°íÇÏ¸é µÉ±î¿ä?
µÎ ºÐÀÇ ´äº¯ ¸ðµÎ °¨»çµå¸³´Ï´Ù. ^^ |
|
| À§·Î |
|
 |
ºñȸ¿ø ¼Õ´Ô
|
|
¿Ã·ÁÁü: 2008-02-28 17:00
|
|
[quote="mika"]
boostÀÇ ¾î¶² ºÎºÐÀ» Âü°íÇÏ¸é µÉ±î¿ä?
quote]
google 'boost assignment library' |
|
| À§·Î |
|
 |
nikola2

°¡ÀÔ: 2005³â 7¿ù 12ÀÏ ¿Ã¸° ±Û: 884 ¼Ò¼Ó: (ÁÖ) ½Å±Ô ¼ÒÇÁÆ®
|
|
¿Ã·ÁÁü: 2008-02-28 17:09
|
|
| ºñȸ¿ø ¾¸: |
¾ÆÁÖ¾ÆÁÖ..´Ü¼øÈ÷ ÇϵåÄÚµù½º·´°Ô/Àå³½º·´°Ô »ý°¢ÇغýÀ´Ï´Ù.
¸î°³±îÁö ½á¾ßÇϽôÂÁö À߸ð¸£Áö¸¸...
ÇÑ 10°³ À̳»¸é Àß ¾µ¼ö ÀÖÁö ¾ÊÀ»±î ½ÍÀº »ý°¢ÀÌ....(-0-)
| ÄÚµå: |
Class IInsertMultiValue
{
public:
IInsertMultiValue() {}
virtual ~IInsertMultiValue(){}
public:
virtual void InsertValue( int arg1 ) = 0; // ÀÌ ³à¼®Àº ¼ø¼ö°¡»ó...
public:
void InsertValue( int arg1, int arg2 )
{
InsertValue( arg1 );
InsertValue( arg2 );
}
void InsertValue( int arg1, int arg2, int arg3 )
{
InsertValue( arg1 );
InsertValue( arg2 );
InsertValue( arg3 );
}
.......................................
}
|
|
Á¦°¡ º¼¶§´Â ÀÌ ¹æ½ÄÀÌ Á¦ÀÏ ¼ÓÆíÇÏ°í ¸¸¸¸ÇÑ °Í °°½À´Ï´Ù¸¸........´Ù¸¸.....
void InsertValue( int arg1, int arg2, int arg3 )
{
InsertValue( arg1 ); InsertValue( arg2 ); InsertValue( arg3 );
}
ÀÇ °æ¿ì
void InsertValue( int arg1, int arg2, int arg3 )
{
InsertValue( arg1 ); InsertValue( arg2 ,arg 3);
}
¿Í °°ÀÌ »¬¼ö ÀÖ½À´Ï´Ù.
¸¸¾à ÇÔ¼öÀÇ À̸§À» ´Ü¼øÈ½ÃŲ´Ù¸é...
void Ins(int a1,int a2,int a3){ Ins(a1); Ins(a2,a3); }
¿Í °°ÀÌ ÆÄ»ý½Ãų¼ö ÀÖ°í, °è¼ÓÇØ¼ ´Ü¼øÇÑ Äڵ带 ³Ö¾î¼ ´Ã¸®¸é µË´Ï´Ù...
void Ins(int a1,int a2,int a3,int a4) { Ins(a1); Ins(a2,a3,a4); }
±×´ÙÀ½¿£ ÀÚ·áÇü ŸÀÔÀ» ÅÛÇø´À¸·Î Á¤ÇÏ°í ½ÇÁ¦ InsertÇÔ¼ö ±¸Çö¿¡ ´ëÇÑ Functor¸¦
³ÖÀ»¼ö ÀÖ°Ô ÁغñÇϸé ÀϹÝÈ µÉµí Çѵ¥¿ä..... _________________ Áý»ç¶÷ÀÌ ±¹·ÂÀÌ´Ù... |
|
| À§·Î |
|
 |
kim05005

°¡ÀÔ: 2007³â 3¿ù 24ÀÏ ¿Ã¸° ±Û: 227 ¼Ò¼Ó: namespace std
|
³ó´ã ¾Æ´Ï°í ÁøÂ¥ ±Ã±ÝÇØ¼ ¿©Âã´Â °Çµ¥¿ä |
¿Ã·ÁÁü: 2008-02-28 17:41
|
|
cdecl È£Ãâ ±Ô¾àÀ¸·Î va_list ÀÌ¿ëÇÏ¸é ½±°Ô µÉÅÙµ¥¿ä..
¿Ö ±×°Ç ¾È¾²´Â °Ç°¡¿ä? _________________ Äݶó ÁÁ¾ÆÇØ¿ä!
Äݶó »çÁֽô ºÐÀº Á¦°¡ ÀÌ»µÇص帳´Ï´Ù  |
|
| À§·Î |
|
 |
mika
°¡ÀÔ: 2005³â 1¿ù 17ÀÏ ¿Ã¸° ±Û: 537
|
|
¿Ã·ÁÁü: 2008-02-28 17:52
|
|
google 'boost assignment library'
http://www.boost.or...ssign/doc/index.html
ã¾Ò½À´Ï´Ù. °¨»çÇÕ´Ï´Ù. ^^
nikora2´ÔÀÇ Á¦¾ÈÀº.. À½; Á¦ÇÑµÈ °¡º¯ ÀÎÀÚ(¸Þ¼Òµå°¡ ¸¸µé¾îÁø ¸¸Å)À̱⵵ ÇÏ°í °³ÀÎÀûÀ¸·Î ¼±È£ÇÏÁö ¾Ê´Â ÀÎÅÍÆäÀ̽º¶ó¼.. ^^;
va_list¸¦ ¾²Áö ¾Ê´Â ÀÌÀ¯´Â º»¹®¿¡ ½è½À´Ï´Ù. °¡º¯ Àμö ÇÔ¼öÀÇ °æ¿ì ÀÎÀÚÀÇ °³¼ö¸¦ ¸í½ÃÀûÀ¸·Î ³Ñ°Ü¾ß ÇÏ´Â Á¦¾à Á¶°ÇÀÌ Àֱ⠶§¹®¿¡ °í·Á¿¡¼ Á¦¿ÜµÇ¾ú½À´Ï´Ù.
°ü½É °¨»çµå¸³´Ï´Ù. ^^ |
|
| À§·Î |
|
 |
ºñȸ¿ø ¼Õ´Ô
|
Re: ³ó´ã ¾Æ´Ï°í ÁøÂ¥ ±Ã±ÝÇØ¼ ¿©Âã´Â °Çµ¥¿ä |
¿Ã·ÁÁü: 2008-02-28 18:24
|
|
| kim05005 ¾¸: |
cdecl È£Ãâ ±Ô¾àÀ¸·Î va_list ÀÌ¿ëÇÏ¸é ½±°Ô µÉÅÙµ¥¿ä..
¿Ö ±×°Ç ¾È¾²´Â °Ç°¡¿ä? |
cdecl¿¡¼´Â callee ÀÔÀå¿¡¼ ÀÎÀÚ¸¦ ¸î ¹ÙÀÌÆ®³ª pushÇß´ÂÁö ¾Ë ¼ö ÀÖ´Â ¹æ¹ýÀÌ ¾ø½À´Ï´Ù.
±×·¡¼ Àú·± °í¹ÎÀ» ÇÏ´Â °ÍÀÌÁö¿ä. |
|
| À§·Î |
|
 |
kim05005

°¡ÀÔ: 2007³â 3¿ù 24ÀÏ ¿Ã¸° ±Û: 227 ¼Ò¼Ó: namespace std
|
|
¿Ã·ÁÁü: 2008-02-28 22:16
|
|
| mika ¾¸: |
google 'boost assignment library'
http://www.boost.or...ssign/doc/index.html
ã¾Ò½À´Ï´Ù. °¨»çÇÕ´Ï´Ù. ^^
nikora2´ÔÀÇ Á¦¾ÈÀº.. À½; Á¦ÇÑµÈ °¡º¯ ÀÎÀÚ(¸Þ¼Òµå°¡ ¸¸µé¾îÁø ¸¸Å)À̱⵵ ÇÏ°í °³ÀÎÀûÀ¸·Î ¼±È£ÇÏÁö ¾Ê´Â ÀÎÅÍÆäÀ̽º¶ó¼.. ^^;
va_list¸¦ ¾²Áö ¾Ê´Â ÀÌÀ¯´Â º»¹®¿¡ ½è½À´Ï´Ù. °¡º¯ Àμö ÇÔ¼öÀÇ °æ¿ì ÀÎÀÚÀÇ °³¼ö¸¦ ¸í½ÃÀûÀ¸·Î ³Ñ°Ü¾ß ÇÏ´Â Á¦¾à Á¶°ÇÀÌ Àֱ⠶§¹®¿¡ °í·Á¿¡¼ Á¦¿ÜµÇ¾ú½À´Ï´Ù.
°ü½É °¨»çµå¸³´Ï´Ù. ^^ |
Á¦°¡ ±ÛÀ» Àдٰ¡ Áß°£À» ¶Ù¾î ³Ñ°Ü¹ö·Á¼ ¸øÀоî¹ö·È±º¿ä ^^;;; _________________ Äݶó ÁÁ¾ÆÇØ¿ä!
Äݶó »çÁֽô ºÐÀº Á¦°¡ ÀÌ»µÇص帳´Ï´Ù  |
|
| À§·Î |
|
 |
mastercho

°¡ÀÔ: 2004³â 5¿ù 9ÀÏ ¿Ã¸° ±Û: 574
|
|
¿Ã·ÁÁü: 2008-02-29 11:15
|
|
¿¹Àü¿¡ °û¿ëÀç[ Effective c++ ¹ø¿ª°¡]´Ô ±Û¿¡¼ vector¸¦ Á¤ÀûÀ¸·Î ÃʱâÈ ½ÃŰ´Â ¹æ¹ýÀ»
º»±â¾ïÀÌ ÀÖ½À´Ï´Ù
¿¹¸¦µé¸é int Array[3] = {1,2,3}; ÇÏ´Â°Í Ã³·³
¹éÅ͵µ ºñ½ÁÇÏ°Ô ÇÒ¼ö ÀÖ¾ú´ø°Å °°³×¿ä [ ¹°·Ð ¾à°£Àº ´õ ºÒÆíÇÕ´Ï´Ù ;;;; ]
Áö±Ý ã¾Æº¸´Ï ¾îµø´ÂÁö Àß ¸ð¸£°Ú³×¿ä , °ü½ÉÀÖÀ¸½Ã¸é ã¾Æº¸¼Åµµ µÉ°Ì´Ï´Ù
[±Í½Å°°ÀÌ °Ë»ö ÀßÇØÁÖ´Â ºÐÀÇ ¼ö°í¸¦ ºÎʵ右´Ï´Ù T_T ]
±×¸®°í
Äڵ带 ´Ù½Ã È®ÀÎÇØ ºÁ¾ß°ÚÁö¸¸ ,
¸ð´ø C++ ÆÐÅÏ¿¡¼ ..... °¡º¯ ÀÎÀÚ¸¦ ó¸®Çϱâ À§ÇØ ¾à°£ ¹«½ÄÇØº¸ÀÌ´Â ¹æ¹ýÀ¸·Î
ÀÎÀÚ °¹¼ö¸¸Å ÅÛÇø´ ÇÔ¼ö¸¦ ¸¸µç°Í º»°Å °°Àº ±â¾ï??? ÀÌ ÀÖ½À´Ï´Ù [ È®½ÇÄ¡ ¾Ê½À´Ï´Ù ]
¿¹¸¦ µé¸é
| ÄÚµå: |
templete
void Func(T a) { ... }
templete
void Func(T a,T b) { }
templete
void Func(T a,T b,T c) { } |
ÀÌ·±½ÄÀ¸·Î ÀÎÀÚ¸¦ ¹ÞÀ»¼ö ÀÖ´Â ÇÔ¼ö¸¦ ¸¹ÀÌ ¸¸µç´ãÀ½¿¡
Àç±ÍÀûÀ¸·Î ó¸® Çß´ø°Å °°½À´Ï´Ù
ÀÌ·¸°Ô ÀÎÀÚ ÃÖ´ë°¹¼ö ¸¸Å Àú·± ÅÛÇø´ ÇÔ¼öor Ŭ·¡½º¸¦ ¸¸µé¾î ³õ°í -_-;
È£ÃâÇÑ ±â¾ïÀÌ Àֳ׿ä
¾à°£ ³ë°¡´Ù¼º °ú ÄÄÆÄÀÏ Å¸ÀÓÀÌ ±æ¾îÁø´Ù´Â ´ÜÁ¡¸¸ Á¦¿ÜÇϸé ,
[ÃÖÀûȽà ºÒÇÊ¿äÇÑ ¼º´É º´¸ñ ÄÚµå´Â Á¦°Å µÉÅ׹ǷΠ]
¿øÇÏ´Â °á°ú¸¦ ¾òÀ»¼ö ÀÖÁö ¾ÊÀ»±î ÇÏ´Â ÃßÃøÀ» ÇØº¾´Ï´Ù |
|
| À§·Î |
|
 |
zupet
°¡ÀÔ: 2003³â 5¿ù 13ÀÏ ¿Ã¸° ±Û: 2760 ¼Ò¼Ó: EA Seoul Studio
|
|
¿Ã·ÁÁü: 2008-02-29 11:54
|
|
| mastercho ¾¸: |
¸ð´ø C++ ÆÐÅÏ¿¡¼ ..... °¡º¯ ÀÎÀÚ¸¦ ó¸®Çϱâ À§ÇØ ¾à°£ ¹«½ÄÇØº¸ÀÌ´Â ¹æ¹ýÀ¸·Î
ÀÎÀÚ °¹¼ö¸¸Å ÅÛÇø´ ÇÔ¼ö¸¦ ¸¸µç°Í º»°Å °°Àº ±â¾ï??? ÀÌ ÀÖ½À´Ï´Ù [ È®½ÇÄ¡ ¾Ê½À´Ï´Ù ] |
·ç¾Æ ÆÃÄ¿µµ ÀÌ·± ¹æ½ÄÀ¸·Î ±¸Çö µÇ¾î ÀÖ½À´Ï´Ù.
¼Óµµ¸é¿¡¼ Á¦ÀÏ ºü¸£±â ¶§¹®¿¡ °£È¤ ÀÎÀÚ°ªÀÌ ³Ê¹« ¸¹¾Æ¼ ÄÄÆÄÀÏÀÌ ¾ÈµÇ¸é copy & paste ÀÛ¾÷À» Á» ÇØÁÖ¸é ÇØ°áµÉ ¼ö ÀÖ´Ù°í »ý°¢Çؼ ³»¸° °ÉÁ¤ÀÌÁÒ. ¾Õ¿¡¼ ¾ð±ÞµÈ ¹æ¹ýµé ´ëºÎºÐÀº ³»ºÎÀûÀ¸·Î °è¼Ó °´Ã¼¸¦ »ý¼ºÇϰųª ¶Ç´Â ¹öÆÛ Å©±â¸¦ Á¶ÀýÇØ°¡¸ç ÀÎÀÚ¸¦ º¹»çÇØ ³Ö´Â °Í ¶§¹®¿¡ È¿À²¼ºÀÌ ¶³¾îÁø´Ù°í »ý°¢ÇÕ´Ï´Ù. ±×·¸Áö¸¸ ¿ª½Ã ÇÔ¼ö¸¦ °è¼Ó ¸¸µé¾î Áà¾ß ÇÑ´Ù´Â°Ç Á» ±ÍÂú¾ÆÁöÁÒ. |
|
| À§·Î |
|
 |
ºñȸ¿ø ¼Õ´Ô
|
ÀÌ·± ¹æ¹ýµµ? |
¿Ã·ÁÁü: 2008-03-01 03:32
|
|
| ¹®ÀÚ¿·Î Àμö¸¦ ¹ÞÀº´ÙÀ½ ±×°É Àß¶ó¼ ó¸®ÇØ ÁÖ´Â ¹æ¹ýµµ ÀÖÀ»°Í °°½À´Ï´Ù. |
|
| À§·Î |
|
 |
Àü¿Ü¼Ö
°¡ÀÔ: 2002³â 7¿ù 3ÀÏ ¿Ã¸° ±Û: 517
Ÿ »çÀÌÆ® ID(?): 102053962
|
|
¿Ã·ÁÁü: 2008-03-04 18:37
|
|
"boostÀÇ ¹æ¹ý"À¸·Î ¾ð±ÞµÈ °ÍÀ» ÀÌ¿ëÇÏ¸é ¾Æ·¡ Á¤µµ°¡ µÇÁö ¾ÊÀ»±î¿ä.
| ÄÚµå: |
struct MyVec : public std::vector
{
MyVec& operator += (const int rhs) { push_back(rhs); return *this; }
MyVec& operator , (const int rhs) { push_back(rhs); return *this; }
};
int main(void)
{
MyVec a;
a += 1,2,3,4,5,6;
std::vector::iterator it = a.begin();
for( ; it!=a.end() ; ++it )
printf("%d\n",*it);
return 0;
}
|
|
|
| À§·Î |
|
 |
uhmgoon
°¡ÀÔ: 2008³â 1¿ù 29ÀÏ ¿Ã¸° ±Û: 94
|
|
¿Ã·ÁÁü: 2008-03-05 12:25
|
|
| Àü¿Ü¼Ö ¾¸: |
"boostÀÇ ¹æ¹ý"À¸·Î ¾ð±ÞµÈ °ÍÀ» ÀÌ¿ëÇÏ¸é ¾Æ·¡ Á¤µµ°¡ µÇÁö ¾ÊÀ»±î¿ä.
| ÄÚµå: |
struct MyVec : public std::vector
{
MyVec& operator += (const int rhs) { push_back(rhs); return *this; }
MyVec& operator , (const int rhs) { push_back(rhs); return *this; }
};
int main(void)
{
MyVec a;
a += 1,2,3,4,5,6;
std::vector::iterator it = a.begin();
for( ; it!=a.end() ; ++it )
printf("%d\n",*it);
return 0;
}
|
|
À§ ¹æ¹ýÀÇ ¹®Á¦¶ó¸é, ´ÙÀ½°ú °°ÀÌ ¾²´Â °æ¿ì¸¦ ¸·À» ¼ö ¾ø´Ù´Â °ÅÁÒ
| ÄÚµå: |
MyVec v;
v, 1, 2, 3, 4, 5, 6;
v, 7, 8 += 1, 2 += 3; |
¸í½ÃÀûÀ¸·Î += ¿¬»êÀÚ¸¦ »ç¿ëÇÏ°Ô ÇÏ·Á¸é, ´ÙÀ½°ú °°ÀÌ inserter ¸¦ ¸¸µå´Â ¹æ¹ýÀÌ °¡Àå ÀûÀýÇÒ °Å °°½À´Ï´Ù.
| ÄÚµå: |
struct ArgList
{
struct inserter
{
ArgList* _arglist;
inserter( ArgList* al ) : _arglist( al ) {}
inserter& operator, ( int a ) { _arglist->_args.push_back( a ); return *this; }
};
ArgList() : _inserter( this ) {}
inserter& operator += ( int a ) { _args.push_back(a); return _inserter; }
std::vector _args;
private:
inserter _inserter;
}; |
¹¹; ÄÄÆÄÀÏÀº ¾ÈÇØºÃÁö¸¸ Àû´çÈ÷ µ¹¾Æ°¥°Å °°½À´Ï´Ù¸¸..
»ý°¢Çغ¸¸é _inserter´Â ¸â¹ö°¡ ¾Æ´Ï¶ó ±×³É += ¿¬»êÀÚ¿¡¼ Àӽð´Ã¼·Î »ý¼ºÇؼ ¸®ÅÏÇØµµ µÉ°Å °°½À´Ï´Ù;;
uhmgoon °¡ 2008-03-06 10:37¿¡ ¼öÁ¤ÇÔ, ÃÑ 1 ¹ø ¼öÁ¤µÊ |
|
| À§·Î |
|
 |
kippler
°¡ÀÔ: 2008³â 3¿ù 4ÀÏ ¿Ã¸° ±Û: 6
|
|
¿Ã·ÁÁü: 2008-03-05 14:51
|
|
°¡º¯ ÀÎÀÚ¸¦ º¸³¾¶§
func(3, 1, 2, 3);
°ú °°ÀÌ ¾Õ¿¡ ÀÎÀÚ ¼ö¸¦ Àû¾îÁÖ´Â°Í À̿ܿ¡
#define EOP -1
func(1, 2, 3, 4, 5, EOP);
¿Í °°ÀÌ ¸¶Áö¸·¿¡ ³¡ÀÓÀ» ¾Ë·ÁÁÖ´Â °ªÀ» Àü´ÞÇØ ÁÖ´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù.
À§ÀÇ º¹ÀâÇÑ ¹æ¹ýº¸´Ù Á¦ÀÏ ±ò²ûÇÏ°í ½¬¿îµí Çϱº¿ä. |
|
| À§·Î |
|
 |
uhmgoon
°¡ÀÔ: 2008³â 1¿ù 29ÀÏ ¿Ã¸° ±Û: 94
|
|
¿Ã·ÁÁü: 2008-03-05 15:23
|
|
| kippler ¾¸: |
°¡º¯ ÀÎÀÚ¸¦ º¸³¾¶§
func(3, 1, 2, 3);
°ú °°ÀÌ ¾Õ¿¡ ÀÎÀÚ ¼ö¸¦ Àû¾îÁÖ´Â°Í À̿ܿ¡
#define EOP -1
func(1, 2, 3, 4, 5, EOP);
¿Í °°ÀÌ ¸¶Áö¸·¿¡ ³¡ÀÓÀ» ¾Ë·ÁÁÖ´Â °ªÀ» Àü´ÞÇØ ÁÖ´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù.
À§ÀÇ º¹ÀâÇÑ ¹æ¹ýº¸´Ù Á¦ÀÏ ±ò²ûÇÏ°í ½¬¿îµí Çϱº¿ä. |
EOP·Î ¼±¾ðµÈ °ª ¿ª½Ã À¯È¿ÇÑ °ªÀÏ °æ¿ì´Â ¹®Á¦°¡ µÇÁö¿ä.
À̰æ¿ì¿¡´Â EOP¿¡ ÇØ´çÇÏ´Â °ª(ÀÌ °æ¿ì¿¡´Â -1)À» ½ÇÁ¦ ÀÎÀÚ·Î ³Ñ±â°í ½Í´Ù¸é,
¹®ÀÚ¿ÀÇ À̽ºÄÉÀÔ ½ÃÄö½º °°Àº º°µµÀÇ ·êÀ» ¸¶·ÃÇϰí ÁؼöÇØ¾ß ÇÑ´Ù´Â ºÒÆíÇÔÀÌ ÀÖ°Ô µË´Ï´Ù. |
|
| À§·Î |
|
 |
|
|
»õ·Î¿î ÁÖÁ¦¸¦ ¿Ã¸± ¼ö ¾ø½À´Ï´Ù ´ä±ÛÀ» ¿Ã¸± ¼ö ¾ø½À´Ï´Ù ÁÖÁ¦¸¦ ¼öÁ¤ÇÒ ¼ö ¾ø½À´Ï´Ù ¿Ã¸° ±ÛÀ» »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù ÅõÇ¥¸¦ ÇÒ ¼ö ¾ø½À´Ï´Ù
|
Powered by phpBB © 2001, 2005 phpBB Group
|