º¤Åʹ ŸÀÔÀ» ¹Þ¾Æ µéÀ̴ Ŭ·¡½º ÅÛÇø´À̹ǷΠÀÓÀÇÀÇ ¸ðµç ŸÀÔÀ» ¿ä¼Ò·Î °¡Áú ¼ö ÀÖ´Ù. Áö±Ý±îÁö´Â ¿¹Á¦ Á¦ÀÛÀÇ ÆíÀǸ¦ À§ÇØ ÁÖ·Î Á¤¼öÇüÀÇ º¤Å͸¸ ¸¸µé¾î º¸¾ÒÁö¸¸ Ŭ·¡½º °´Ã¼¸¦ ¿ä¼Ò·Î °¡Áö´Â º¤Å͵µ ¾ó¸¶µçÁö ¸¸µé ¼ö ÀÖ´Ù. ´ÙÀ½ ¿¹Á¦´Â Time °´Ã¼ÀÇ º¤Å͸¦ ¸¸µç´Ù.
¿¹ Á¦ : Timevector |
#include <iostream>
#include <vector>
using namespace std;
class Time
{
protected:
int hour,min,sec;
public:
Time(int h,int m,int s) { hour=h;min=m;sec=s; }
void OutTime() { printf("%d:%d:%d ",hour,min,sec); }
};
template<typename C>
void dump(const char *desc, C c)
{
cout.width(12);cout << left << desc << "==> ";
for (unsigned i=0;i<c.size();i++) { c[i].OutTime(); }
cout << endl;
}
void main()
{
vector<Time> vt;
vt.push_back(Time(1,1,1));
vt.push_back(Time(2,2,2));
dump("¿ä¼Ò 2°³",vt);
}
Time Ŭ·¡½º¸¦ Á¤ÀÇÇϰí vector<Time> ŸÀÔÀÇ vt º¤Å͸¦ ¼±¾ðÇß´Ù. < > °ýÈ£¾È¿¡ ÀúÀåÇÏ°í ½ÍÀº ¿ä¼ÒÀÇ Å¸ÀÔ¸¸ Àû¾î ÁÖ¸é µÈ´Ù. µÎ °³ÀÇ Time °´Ã¼¸¦ ¸¸µé¾î º¤ÅÍ ³¡¿¡ Ãß°¡Çϰí dump ÇÔ¼ö·Î Ãâ·ÂÇØ º¸¾Ò´Ù. dump ÇÔ¼ö´Â Time °´Ã¼ÀÇ OutTimeÀ» È£ÃâÇϵµ·Ï Á¶±Ý º¯°æµÇ¾ú´Âµ¥ Time¿¡ << ¿¬»êÀÚ¸¦ Á¤ÀÇÇÏ¸é ±âÁ¸ÀÇ dump ÇÔ¼ö¸¦ °è¼Ó »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.
¿ä¼Ò 2°³ ==> 1:1:1 2:2:2
º¤ÅÍ¿¡ ÀúÀåµÈ °´Ã¼µéÀº º¤ÅͰ¡ ÆÄ±«µÉ ¶§ °°ÀÌ ÆÄ±«µÇ¹Ç·Î Time °´Ã¼¸¦ º°µµ·Î ÆÄ±«ÇÒ ÇÊ¿ä´Â ¾ø´Ù. Time °´Ã¼´Â Å©±â°¡ ¾ÆÁÖ ÀÛÀ¸¹Ç·Î °´Ã¼¸¦ º¤ÅÍ¿¡ ¹Ù·Î ÀúÀåÇØµµ º° »ó°üÀÌ ¾ø´Ù. ±×·¯³ª ÀϹÝÀûÀÎ °´Ã¼´Â ´ë´ÜÈ÷ Ŭ ¼ö ÀÖÀ¸¹Ç·Î º¤ÅÍ¿¡ Á÷Á¢ °´Ã¼¸¦ ÀúÀåÇÏ´Â °Íº¸´Ù´Â °´Ã¼ÀÇ Æ÷ÀÎÅ͸¦ ÀúÀåÇÏ´Â °ÍÀÌ ¼º´É»ó À¯¸®Çϸç ÈξÀ ´õ ÀϹÝÀûÀÌ´Ù.
¿¹ Á¦ : Timeptrvector |
#include <iostream>
#include <vector>
using namespace std;
class Time
{
protected:
int hour,min,sec;
public:
Time(int h,int m,int s) { hour=h;min=m;sec=s; }
void OutTime() { printf("%d:%d:%d ",hour,min,sec); }
};
template<typename C>
void dump(const char *desc, C c)
{
cout.width(12);cout << left << desc << "==> ";
for (unsigned i=0;i<c.size();i++) { c[i]->OutTime(); }
cout << endl;
}
void main()
{
vector<Time *> vt;
vt.push_back(new Time(1,1,1));
vt.push_back(new Time(2,2,2));
dump("¿ä¼Ò 2°³",vt);
vector<Time *>::iterator it;
for (it=vt.begin();it!=vt.end();it++) {
delete *it;
}
}
º¤ÅÍÀÇ Å¸ÀÔÀÌ vector<Time *>·Î º¯°æµÇ¾úÀ¸¸ç º¤ÅÍ¿¡ ¿ä¼Ò¸¦ Ãß°¡ÇÒ ¶§ Time °´Ã¼°¡ ¾Æ´Ï¶ó new ¿¬»êÀÚ·Î µ¿Àû »ý¼ºÇÑ Time °´Ã¼ÀÇ Æ÷ÀÎÅ͸¦ ÀúÀåÇß´Ù. dump ÇÔ¼öÀÇ OutTime È£Ãâ¹®µµ -> ¿¬»êÀڷΠȣÃâÇϵµ·Ï º¯°æÇØ¾ß ÇÑ´Ù. vt °´Ã¼´Â ¸Þ¸ð¸®¿¡ ´ÙÀ½°ú °°ÀÌ »ý¼ºµÉ °ÍÀÌ´Ù.
°ªÀ» ÀúÀåÇÏ´Â º¤ÅÍ´Â Time °´Ã¼¸¦ Á÷Á¢ °¡ÁöÁö¸¸ Æ÷ÀÎÅ͸¦ ÀúÀåÇÏ´Â º¤ÅÍ´Â µ¿Àû »ý¼ºµÈ Time °´Ã¼ÀÇ Æ÷ÀÎÅ͸¸À» °¡Áø´Ù. Æ÷ÀÎÅ͸¦ °¡Áö´Â º¤Å͸¦ ÆÄ±«ÇÒ ¶§´Â °¢ Æ÷ÀÎÅͰ¡ °¡¸®Å°´Â °´Ã¼¸¦ Á÷Á¢ ÆÄ±«ÇØ¾ß ÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é µ¿ÀûÀ¸·Î »ý¼ºÇÑ °´Ã¼°¡ ÆÄ±«µÇÁö ¾ÊÀ¸¹Ç·Î ¸Þ¸ð¸® ´©¼ö°¡ ¹ß»ýÇÑ´Ù. º¤ÅÍ´Â ¿ä¼Ò¸¦ °ü¸®ÇÒ »ÓÀÌÁö ¿ä¼Ò°¡ °¡¸®Å°´Â °´Ã¼±îÁö´Â °ü¸®ÇÏÁö ¸øÇÑ´Ù.
º¤ÅÍ¿¡ ÀÓÀÇÀÇ Å¸ÀÔÀ» ÀúÀåÇÒ ¼ö ÀÖÁö¸¸ ±×·¸´Ù°í Á¤¸» ¾Æ¹« ŸÀÔÀ̳ª ÀúÀåÇÒ ¼ö ÀÖ´Â °ÍÀº ¾Æ´Ï¸ç ÀÏÁ¤ÇÑ Á¶°ÇÀ» ¸¸Á·Çϴ ŸÀÔ¸¸ ÀúÀåÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ ¿¹Á¦´Â ³»ºÎ¿¡¼ µ¿Àû ÇÒ´çÀ» ÇÏ´Â °´Ã¼¸¦ ¿ä¼Ò·Î °¡Áö´Â º¤Å͸¦ ¸¸µç´Ù. µ¿Àû ÇÒ´çÀ» Çϴ Ŭ·¡½º´Â »ý¼ºÀÚ, °¡»ó ÆÄ±«ÀÚ, º¹»ç »ý¼ºÀÚ, ´ëÀÔ ¿¬»êÀÚ¸¦ ÀûÀýÈ÷ Á¤ÀÇÇØ¾ß ÇÑ´Ù.
¿¹ Á¦ : Dynamicvector |
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
class Dynamic
{
private:
char *ptr;
public:
Dynamic() {
ptr=new char[1];
ptr[0]=0;
}
Dynamic(const char *str) {
ptr=new char[strlen(str)+1];
strcpy(ptr,str);
}
Dynamic(const Dynamic &Other) {
ptr=new char[strlen(Other.ptr)+1];
strcpy(ptr,Other.ptr);
}
Dynamic &operator =(const Dynamic &Other) {
if (this != &Other) {
delete [] ptr;
ptr=new char[strlen(Other.ptr)+1];
strcpy(ptr,Other.ptr);
}
return *this;
}
int operator ==(const Dynamic &Other) const {
return strcmp(ptr,Other.ptr);
}
int operator <(const Dynamic &Other) const {
return strcmp(ptr,Other.ptr) < 0;
}
virtual ~Dynamic() {
delete [] ptr;
}
virtual void OutDynamic() {
cout << ptr << ' ';
}
};
template<typename C>
void dump(const char *desc, C c)
{
cout.width(12);cout << left << desc << "==> ";
for (unsigned i=0;i<c.size();i++) { c[i].OutDynamic(); }
cout << endl;
}
void main()
{
vector<Dynamic> vt;
Dynamic a("dog");
Dynamic b("cow");
vt.push_back(a);
vt.push_back(b);
dump("¿ä¼Ò 2°³",vt);
}
Dynamic Ŭ·¡½ºÀÇ Á¤Àǹ®ÀÌ ²Ï ±äµ¥ µðÆúÆ® »ý¼ºÀÚ, º¯È¯ »ý¼ºÀÚ, º¹»ç »ý¼ºÀÚ, = ´ëÀÔ ¿¬»êÀÚ, ==, < ºñ±³ ¿¬»êÀÚ, °¡»ó ÆÄ±«ÀÚ µîÀÌ Á¦´ë·Î Á¤ÀǵǾî ÀÖ´Ù. ´Ù ¾Õ Àå¿¡¼ ÀÌ¹Ì ¹è¿î ³»¿ëµéÀ̹ǷΠº¹½Àµµ ÇÒ °â ÀÌ Å¬·¡½ºÀÇ ³»¿ëÀ» Àß ÀÐ¾î º¸µµ·Ï ÇÏÀÚ. main¿¡¼ Dynamic ŸÀÔÀ» ÀúÀåÇÏ´Â º¤ÅÍ vt¸¦ ¼±¾ðÇÏ°í µÎ °³ÀÇ Dynamic °´Ã¼¸¦ º¤ÅÍ ³¡¿¡ Ãß°¡ÇÑ ÈÄ Ãâ·ÂÇØ º¸¾Ò´Ù. º° ÀÌ»ó¾øÀÌ Àß µ¿ÀÛÇÒ °ÍÀÌ´Ù.
¿ä¼Ò 2°³ ==> dog cow
±×·¯³ª ¾Æ¹« ´ë°¡¾øÀÌ ÀÌ·¸°Ô Àß µ¿ÀÛÇÏ´Â °ÍÀº ¾Æ´Ï¸ç DynamicÀÌ º¤ÅÍ ÅÛÇø´ÀÌ ¿ä±¸ÇÏ´Â Á¶°ÇÀ» ¸ðµÎ ¸¸Á·Çϱ⠶§¹®ÀÌ´Ù. °ú¿¬ ¾î¶² Á¶°ÇÀÌ ÇÊ¿äÇÑÁö ¸î °¡Áö Å×½ºÆ®¸¦ ÇØ º¸ÀÚ. push_back ÇÔ¼ö·Î °´Ã¼¸¦ º¤ÅÍ ³¡¿¡ Ãß°¡ÇÒ ¶§ º¹»ç°¡ ¹ß»ýÇϸç À̶§ °´Ã¼ÀÇ º¹»ç »ý¼ºÀÚ°¡ È£ÃâµÈ´Ù. ¸¸¾à DynamicÀÌ º¹»ç »ý¼ºÀÚ¸¦ Á¤ÀÇÇÏÁö ¾ÊÀ¸¸é ÀÌ ¿¹Á¦´Â ´Ù¿îµÈ´Ù. º¹»ç »ý¼ºÀÚ¸¦ Àá½Ã ÁÖ¼®À¸·Î ¹¾î ³õ°í ½ÇÇàÇØ º¸ÀÚ.
º¹»ç »ý¼ºÀÚ°¡ Á¤ÀǵǾî ÀÖÁö ¾ÊÀ¸¸é µðÆúÆ® º¹»ç »ý¼ºÀÚ°¡ ¾èÀº º¹»ç¸¦ ÇÏ°Ô µÉ °ÍÀ̰í Á¤¸®µÉ ¶§ °´Ã¼ a¿Í º¤ÅÍ¿¡ Ãß°¡µÈ »çº»ÀÌ °°Àº ¹öÆÛ¸¦ ÀÌÁß Á¤¸®ÇϹǷΠ¹®Á¦°¡ »ý±â´Â °ÍÀÌ´Ù. º¤ÅÍ¿¡ ÀúÀåÇÒ Å¸ÀÔÀº º¹»ç »ý¼ºÀÚ¸¦ Á¤ÀÇÇÏ¿© ¿ÏÀüÇÑ »çº»À» ¸¸µé ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ´ÙÀ½Àº ´ëÀÔ ¿¬»êÀÚÀÇ °æ¿ì¸¦ º¸ÀÚ. ´ÙÀ½ Äڵ带 main ÇÔ¼öÀÇ ³¡¿¡ ÀÛ¼ºÇØ º¸°í ½ÇÇàÇØ º¸¾Æ¶ó.
Dynamic c;
c=vt[1];
»õ·Î¿î °´Ã¼ c¸¦ ¼±¾ðÇÑ ÈÄ vt[1] ¹øÂ° ¿ä¼Ò(Áï b°´Ã¼ÀÇ »çº»)À» ´ëÀÔ¹Þ¾Ò´Ù. º°´Ù¸¥ ÀÌ»ó¾øÀÌ Àß µ¿ÀÛÇϴµ¥ Dynamic Ŭ·¡½º°¡ ´ëÀÔ ¿¬»êÀÚ¸¦ Á¦´ë·Î Á¤ÀÇÇϰí Àֱ⠶§¹®ÀÌ´Ù. ´ëÀÔ ¿¬»êÀÚ¸¦ ÁÖ¼® ó¸®ÇÏ¸é ´ëÀԽà ¾èÀº º¹»ç¸¦ ÇϹǷΠÀÌ Äڵ嵵 ¿ª½Ã ´Ù¿îµÈ´Ù. ´ÙÀ½Àº == ¿¬»êÀÚ°¡ ¿Ö ÇÊ¿äÇÑÁö »ìÆìº¸±â À§ÇØ ´ÙÀ½ Äڵ带 ÀÛ¼ºÇØ º¸ÀÚ.
Dynamic d("cat");
find(vt.begin(),vt.end(),d);
"cat" ¹®ÀÚ¿À» °¡Áö´Â Dynamic °´Ã¼°¡ º¤ÅÍ¿¡ ÀÖ´ÂÁö find ÇÔ¼ö·Î °Ë»öÇØ º¸¾Ò´Âµ¥ º°´Ù¸¥ ÀÌ»ó¾øÀÌ ÄÄÆÄÀÏµÇ°í °Ë»öµµ µÈ´Ù. ÀÌ Äڵ尡 Àß ÄÄÆÄÀϵǴ ÀÌÀ¯´Â == ¿¬»êÀÚ ÇÔ¼ö°¡ Á¤ÀǵǾî ÀÖ¾î¼ find°¡ º¤Åͳ»ÀÇ °´Ã¼¿Í Àμö·Î ÁÖ¾îÁø d°´Ã¼¸¦ ºñ±³ÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù. find ÇÔ¼öÀÇ º»Ã¼ Äڵ带 È®ÀÎÇØ º¸¸é == ¿¬»êÀÚ·Î ¿ä¼Ò¸¦ ºñ±³ÇÏ´Â Äڵ尡 ÀÛ¼ºµÇ¾î ÀÖ´Ù. == ¿¬»êÀÚ¸¦ ÁÖ¼® ó¸®Çϸé ÇÊ¿äÇÑ ±â´ÉÀÌ Á¤ÀǵÇÁö ¾Ê¾Ò´Ù´Â ¿¡·¯°¡ find ÇÔ¼ö º»Ã¼¿¡¼ ¹ß»ýÇÒ °ÍÀÌ´Ù. ´ÙÀ½ ÄÚµå´Â ÀÌ º¤ÅͰ¡ Á¤·Ä °¡´ÉÇÑÁö¸¦ Á¡°ËÇÑ´Ù.
sort(vt.begin(), vt.end());
dump("Á¤·Ä ÈÄ",vt);
°íÀÛ µÎ °³¹Û¿¡ ¾Èµé¾î ÀÖ±â´Â ÇÏÁö¸¸ Á¤·Ä °á°úµµ Á¦´ë·Î ³ª¿Â´Ù. ÀÌ·± Á¤·ÄÀÌ °¡´ÉÇÑ ÀÌÀ¯´Â < ¿¬»êÀÚ°¡ Á¤ÀǵǾî ÀÖ¾î Dynamic °´Ã¼³¢¸® ´ë¼Ò ºñ±³°¡ °¡´ÉÇϱ⠶§¹®ÀÌ´Ù. ÀÌ ¿¬»êÀÚ¸¦ ÁÖ¼® ó¸®ÇÏ¸é ¿ª½Ã ¿¡·¯ ¸Þ½ÃÁö°¡ Ãâ·ÂµÉ °ÍÀÌ´Ù. ÆÄ±«ÀÚ¸¦ »ý·«Çϸé ÄÄÆÄÀϰú ½ÇÇà¿¡´Â ÀÌ»óÀÌ ¾øÁö¸¸ ÇÒ´çÇÑ ¸Þ¸ð¸®°¡ ÇØÁ¦µÇÁö ¾ÊÀ¸¹Ç·Î ¸Þ¸ð¸® ´©¼ö°¡ ¹ß»ýÇÏ¸ç ÆÄ±«ÀÚ°¡ °¡»óÀÌ ¾Æ´Ï¸é ÆÄ»ý Ŭ·¡½º°¡ Á¦´ë·Î Á¤¸®µÇÁö ¾Ê´Â´Ù.
°á±¹ Dynamic Ŭ·¡½º°¡ º¤ÅÍ¿¡ ÀúÀåµÇ·Á¸é À§ ¼Ò½º¿¡ Á¤ÀǵǾî ÀÖ´Â ¸ðµç ÀåÄ¡µéÀÌ ÇÊ¿äÇÏ´Ù. Çϳª¶óµµ ºüÁö¸é º¤ÅÍ ÅÛÇø´°ú ¾Ë°í¸®ÁòÀÇ ¿ä±¸ Á¶°ÇÀ» ¸¸Á·ÇÏÁö ¸øÇϹǷΠÄÁÅ×À̳ʿ¡ ÀúÀåÇÒ ¼ö ¾ø°Å³ª µ¿ÀÛ Áß¿¡ ´Ù¿îµÇ°Å³ª ÄÄÆÄÀÏÀÌ °ÅºÎµÈ´Ù. ¹«½¼ Á¶°ÇÀÌ Àú·¸°Ô ¸¹À¸³Ä°í ÇϰÚÁö¸¸ ¿øÄ¢Àº ¾ÆÁÖ °£´ÜÇÏ´Ù. int¿Í ¶È°°ÀÌ µ¿ÀÛÇϴ ŸÀÔÀÌ¸é ¾Æ¹«·± ¹®Á¦°¡ ¾ø´Ù.
»ç¿ëÀÚ Á¤ÀÇ Å¸ÀÔÀ» º¤ÅÍ¿¡ ³Ö±â´Â ¾ÆÁÖ ¾î·Æ´Ù´Â ´À³¦ÀÌ µé°ÚÁö¸¸ ´ÙÇàÈ÷ ±×·¸Áö´Â ¾Ê´Ù. Dynamic Ŭ·¡½º´Â µ¿Àû ÇÒ´çÀ» Çϱ⠶§¹®¿¡ ¸¹Àº ÇÔ¼öµéÀÌ ÇÊ¿äÇÏÁö¸¸ Time °°Àº ´Ü¼ø ¸â¹ö¸¸ °¡Áø Ŭ·¡½º´Â ÄÄÆÄÀÏ·¯°¡ ¸¸µé¾îÁÖ´Â µðÆúÆ®¸¸À¸·Îµµ ÃæºÐÇÏ¸ç ºñ±³ ¿¬»êÀÚ Á¤µµ¸¸ Á¤ÀÇÇÏ¸é µÈ´Ù. µ¿Àû ÇÒ´çÀ» Çϴ ŸÀÔÀÇ Æ÷ÀÎÅÍ¿¡ ´ëÇÑ º¤Å͵µ ¹°·Ð ¸¸µé ¼ö ÀÖÀ¸¸ç Æ÷ÀÎÅÍ¿¡ ´ëÇÑ °Ë»ö, Á¤·Äµµ °¡´ÉÇÏ´Ù.
¿¹ Á¦ : Dynamicptrvector |
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
class Dynamic
{
friend struct DynCompare;
friend struct DynFind;
private:
char *ptr;
public:
Dynamic() {
ptr=new char[1];
ptr[0]=0;
}
Dynamic(const char *str) {
ptr=new char[strlen(str)+1];
strcpy(ptr,str);
}
Dynamic(const Dynamic &Other) {
ptr=new char[strlen(Other.ptr)+1];
strcpy(ptr,Other.ptr);
}
Dynamic &operator =(const Dynamic &Other) {
if (this != &Other) {
delete [] ptr;
ptr=new char[strlen(Other.ptr)+1];
strcpy(ptr,Other.ptr);
}
return *this;
}
int operator ==(const Dynamic &Other) const {
return strcmp(ptr,Other.ptr);
}
int operator <(const Dynamic &Other) const {
return strcmp(ptr,Other.ptr) < 0;
}
virtual ~Dynamic() {
delete [] ptr;
}
virtual void OutDynamic() {
cout << ptr << ' ';
}
};
template<typename C>
void dump(const char *desc, C c)
{
cout.width(12);cout << left << desc << "==> ";
for (unsigned i=0;i<c.size();i++) { c[i]->OutDynamic(); }
cout << endl;
}
struct DynCompare {
bool operator()(Dynamic *a, Dynamic *b) const {
return strcmp(a->ptr, b->ptr)<0;
}
};
struct DynFind {
bool operator()(Dynamic *a) const {
return strcmp(a->ptr, "cat")==0;
}
};
void main()
{
vector<Dynamic *> vt;
vt.push_back(new Dynamic("dog"));
vt.push_back(new Dynamic("cow"));
dump("¿ä¼Ò 2°³",vt);
Dynamic d("cat");
puts(find_if(vt.begin(),vt.end(),DynFind())==vt.end() ? "¾ø´Ù":"ÀÖ´Ù");
sort(vt.begin(), vt.end(), DynCompare());
dump("Á¤·Ä ÈÄ",vt);
vector<Dynamic *>::iterator it;
for (it=vt.begin();it!=vt.end();it++) {
delete *it;
}
}
º¤ÅÍÀÇ ¿ä¼Ò ŸÀÔÀ» Dynamic *·Î º¯°æÇϰí new ¿¬»êÀÚ·Î µ¿Àû »ý¼ºÇÑ Æ÷ÀÎÅ͸¦ º¤ÅÍ¿¡ ÀúÀåÇÏ¸é µÈ´Ù. ¹Ýº¹ÀڷκÎÅÍ ¸â¹ö ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§ -> ¿¬»êÀÚ¸¦ »ç¿ëÇØ¾ß ÇÏ°í º¤Å͸¦ ÆÄ±«Çϱâ Àü¿¡ ¿ä¼ÒµéÀ» Á÷Á¢ ÆÄ±«Çϱ⵵ ÇØ¾ß ÇÑ´Ù. ±×·¸´Ù¸é À̶§ °Ë»öÀ̳ª Á¤·ÄÀº ¾î¶»°Ô ÇØ¾ß ÇÒ±î? Æ÷ÀÎÅÍ¿¡ ´ëÇØ °Ë»öÇϰųª Á¤·ÄÇÏ´Â °ÍÀº ¾Æ¹« Àǹ̰¡ ¾ø°í Æ÷ÀÎÅͰ¡ °¡¸®Å°´Â °´Ã¼¸¦ ´ë»óÀ¸·Î ºñ±³¸¦ ¼öÇàÇØ¾ß Çϴµ¥ ÀÌ·² ¶§ ¾²´Â °ÍÀÌ ¹Ù·Î Á¶°ÇÀÚ ÇÔ¼ö °´Ã¼ÀÌ´Ù.
°Ë»ö°ú Á¤·Ä ¸ðµÎ Á¶°ÇÀÚ ¹öÀüÀÇ ÇÔ¼ö¸¦ »ç¿ëÇß´Ù. ¿¹Á¦ÀÇ DynCompare, DynFind´Â Àü´ÞµÈ Æ÷ÀÎÅͷκÎÅÍ ptrÀ» Àоî ÀÌ Æ÷ÀÎÅͰ¡ °¡¸®Å°´Â °÷ÀÇ ³»¿ëÀ» ºñ±³ÇϹǷΠ°´Ã¼ÀÇ Æ÷ÀÎÅͰ¡ ¾Æ´Ï¶ó Æ÷ÀÎÅͰ¡ °¡¸®Å°´Â ½Çü¸¦ ´ë»óÀ¸·Î °Ë»ö ¹× Á¤·ÄÀ» ÇÏ°Ô µÈ´Ù. ÀÌ·ÐÀûÀ¸·Î º¤ÅÍ¿¡ Æ÷ÀÎÅ͸¦ ÀúÀåÇÏ´Â °ÍÀÌ °¡´ÉÇϱâ´Â ÇÏÁö¸¸ º¸´Ù½ÃÇÇ ¿©·¯ °¡Áö·Î ½Å°æ½á¾ß ÇÒ °ÍµéÀÌ ¸¹°í ºÒÆíÇϱ⠶§¹®¿¡ º¤ÅÍ¿¡´Â Åë»ó °ªÀ» ÀúÀåÇÏ´Â °ÍÀÌ ±ÇÀåµÈ´Ù.