その先にあるもの…

[C++] auto C++11 본문

프로그래밍

[C++] auto C++11

specialJ 2016. 6. 8. 16:46

컴파일시에 타입이 결정된다. 

변수 선언시에 초기화 할 때 타입이 정해진다.


auto Value;    //'auto' 형식을 추론할 수 없습니다(이니셜라이저 필요). CPPx11

auto Value = 1;

auto NPCName = "BugKing";

auto number = 1;


int UserMode = 4;

auto* pUserMode = &UserMode;

auto& refUserMode = UserMode;


struct _InvenInfo{};

class CInvenInfo{};

auto structInven = new _InvenInfo;

auto classInven = new CInvenInfo;



class CItem{};

typedef std::list< CItem > List_Item;

List_Item listItem;

listItem.push_back(CItem(1, 2)); <-- RValue Reference | Copy Constructor


//std::lilst< CItem >::iterator를 auto로 줄일 수 있다. 

//가독성 향상

auto iter = listItem.begin();



class CFuncReturn

{

int i;

int& refI;

int  j = 10;

public:


auto f() { return i; }

auto& refF() { return i; }

auto& refMember() { return refI; }

auto IsMaxLevel(int level)

{

if (level >= 100)

return true;

else

return false;

//return 0; //추론된 반환 형식 int가 bool과 충돌 에러

}


CFuncReturn() : refI(j) {}

}

// 함수 반환 값으로 쓸 수 있다.

CFuncReturn funcReturn;

auto rt = funcReturn.f();

auto& refFunc = funcReturn.refF();

refFunc = 20;



참조 : http://www.slideshare.net/jacking/modern-c-cpp11-14

'프로그래밍' 카테고리의 다른 글

[C++]초기화 리스트  (0) 2016.06.08
[C++]Range based for loop  (0) 2016.06.08
[C++] 유니코드로 변경하기  (0) 2016.05.10
[C++] WideCharToMultiByte MultiByteToWideChar  (0) 2016.02.04
[C++] 복사 생성자 대입 연산자  (0) 2015.04.09
Comments