|
1.¿ä¾à ÀÌ·± °í¹ÎÀ» ÇØ º¸½ÅÀûÀÌ ÀÖÀ¸½ÃÁÒ? Æ÷ÀÎÅÍÇüÀ» ¹ÝȯÇÏ´Â ÇÔ¼ö¶ó¸é ¿¹¿Ü»óȲÀ» ¾Ë¸®±â À§Çؼ NULLÀ» ¹ÝȯÇÏ¸é µÇ´Âµ¥, ±âº»ÇüÀ̳ª °´Ã¼ ȤÀº ·¹ÆÛ·±½º ŸÀÔÀ» ¹ÝȯÇÏ´Â °æ¿ì¶ó¸é NULL ó·³ ºÐ¸íÇÑ °ªÀÌ ¾ø½À´Ï´Ù. EOFó·³ ƯÁ¤ÇÑ °ªÀ» ¿¡·¯°ªÀ¸·Î Á¤ÀÇÇØ ³õ´Â´Ù°Å³ª HRESULT ó·³ ºñÆ®º°·Î Àǹ̸¦ ºÎ¿©ÇÏ´Â ¹æ¹ýÀÌ °ÅÀÇ ´ëºÎºÐÀÏ °ÍÀÔ´Ï´Ù. pair´Â ÀÌ·± °æ¿ì¿¡ ÇÑ ¹øÂëÀº »ý°¢ÇØ º¼ ¼ö ÀÖ´Â ÅÛÇø´ Ŭ·¡½º ÀÔ´Ï´Ù. 2.º»¹® pair´Â ´ÙÀ½°ú °°ÀÌ ´Ü¼øÇÕ´Ï´Ù.
template<class T, class U>
struct pair {
typedef T first_type;
typedef U second_type
T first;
U second;
pair();
pair(const T& x, const U& y);
template<class V, class W>
pair(const pair<V, W>& pr);
};
µÎ °³ÀÇ ¸â¹ö º¯¼ö¸¦ °¡Áø ±¸Á¶Ã¼ Á¤µµ·Î »ý°¢ÇÏ½Ã¸é µü ¸Â½À´Ï´Ù.
ÀÌÁ¤µµ Ŭ·¡½º¶ó¸é Á÷Á¢ ¸¸µé¾î¼ ¾²´Â °Íµµ ³ª»ÚÁö´Â ¾Ê°ÚÁÒ. ÇÏÁö¸¸
pair´Â Ç¥ÁØÀÔ´Ï´Ù. °£´ÜÇÑ ¿¹Á¦¸¦ »ìÆìº¸°Ú½À´Ï´Ù. [¿¹Á¦ - Windows Console Application]
// pair.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <utility>
using namespace std;
typedef pair<bool, int> RET_TYPE;
RET_TYPE Func()
{
return make_pair( false, 3571);
//return RET_TYPE( false, 3571);
}
int main(int argc, char* argv[])
{
RET_TYPE ret = Func();
if( false == ret.first )
{
return ret.second;
}
return 0;
}
[¿¹Á¦ ¼³¸í] #include <utility> using namespace std;pair Ŭ·¡½º¿Í make_pair ÇÔ¼ö´Â utility¿¡ ¼±¾ðµÇ¾î ÀÖ½À´Ï´Ù. ¿ª½Ã STLÀÇ ÀϺÎÀ̱⠶§¹®¿¡ std¶ó´Â À̸§ÀÇ ³×ÀÓ½ºÆäÀ̽º ¾È¿¡¼ ¼±¾ðµÇ¾î ÀÖ½À´Ï´Ù. -------------------------------------------------------------- typedef pair<bool, int> RET_TYPE;¿ì¸®ÀÇ ¿ëµµ¿¡ ¸Â´Â pair Ŭ·¡½ºÇüÀ» ¼±¾ðÇÏ´Â ¼ø°£ÀÔ´Ï´Ù. °¢°¢ bool°ú intÇüÀ» °®´Â ¸â¹ö 2°³¸¦ °®´Â °ÍÀ» ÀǹÌÇϰÚÁÒ. -------------------------------------------------------------- return make_pair( false, 3571);make_pair ÇÔ¼ö´Â ÇϳªÀÇ pair °´Ã¼¸¦ »ý¼ºÇؼ ¹ÝȯÇÏ´Â ÇÔ¼ö ÀÔ´Ï´Ù. pair°´Ã¼ÀÇ Å¸ÀÔÀº ¸Å°³º¯¼öÀÇ ÀÇÁ¸Çؼ °áÁ¤ÇÕ´Ï´Ù. ¿©±â¼´Â °¢°¢ bool, int ÇüÀÎ false, 3571À» ³Ñ°ÜÁÖ¾úÀ¸¹Ç·Î make_pair ÇÔ¼ö´Â pair Á» ´õ Ãß»óÀûÀ¸·Î »ý°¢ÇÏÀÚ¸é, ¿ì¸®ÀÇ ÇÔ¼ö´Â ½ÇÆÐÇß´Ù´Â false¿Í ½ÇÆÐÀÇ ¿øÀÎÀÎ 3571À» ÇÔ²² ¹ÝȯÇϰí ÀÖ½À´Ï´Ù. -------------------------------------------------------------- //return RET_TYPE( false, 3571);ÀÌ ºÎºÐÀº ÁÖ¼® ó¸®ÇصξúÁÒ. À§ÀÇ return make_pair...; ´ë½Å¿¡ ÀÌ ¹®ÀåÀ» »ç¿ëÇØµµ °°Àº °á°ú¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌÀ¯´Â pair Ŭ·¡½º´Â ÀÌ¹Ì µÎ °³ÀÇ ÀÎÀÚ¸¦ °®´Â »ý¼ºÀÚ¸¦ °¡Áö°í Àֱ⠶§¹®ÀÔ´Ï´Ù. --------------------------------------------------------------
if( false == ret.first )
{
return ret.second;
}
¹Ýȯ°ªÀÌ ½ÇÆÐ¸¦ ÀǹÌÇÑ´Ù¸é, ´Ù½Ã ½ÇÆÐÀÇ ¿øÀÎÀ» ¹ÝȯÇϸé¼
ÇÁ·Î±×·¥Àº Á¾·áÇÕ´Ï´Ù. -------------------------------------------------------------- À¯Æ¿¸®Æ¼¶ó´Â °ÍÀÌ ÀÌ·¸°Ô »ç¿ëÇϱâ Èûµé¾î¼¾ß µÇ°Ú³Ä¶ó°í ¹Ý¹®ÇϽô ºÐÀÌ °è½Ç ¼öµµ Àְڳ׿ä. ÀÌ ±ÛÀÇ Àǹ̴ °¢ÀÚ ¹Þ¾ÆµéÀÌ½Ã±æ ¹Ù¶ø´Ï´Ù. 3.¿¹Á¦ 4.Âü°í MSDN The Practice of Programming The C++ Programming Language - 2001.08.13 Smile Seo - |