Auto

    C++ (template, auto, decltype) 타입 추론 Universal reference

    1. 정의 C++11의 새로운 피쳐들 중에서 아마 가장 의미있는 것은 RValue reference일 것이다. 이로 인해 move semantics와 perferect forwarding이 가능해졌기 때문이다. 문법적으로 &&(ampersands) 2개를 붙여 표시한다. void f(widget&& param); 위 예제를 보면 rvalue reference를 &&로 표기하는데 아무런 문제가 없어보인다. 하지만, 다음의 예제들은 &&로 rvalue reference를 의미할수도 그렇지 않을 수도 있다. Widget&& var1 = someWidget; // rvalue ref auto&& var2 = var1; // rvalue ref or lvalue ref (universal ref) template..

    C++ auto 타입 추론

    auto 키워드는 선언된 변수의 초기화 식을 사용하여 해당 형식을 추론하도록 컴파일러에 지시한다. 즉, auto 키워드를 사용하면 초깃값의 형식에 맟춰 선언하는 인스턴스(변수)의 형식이 '자동'으로 결정된다 (타입 추론(type inference)). 이 기능은 생성 시 변수를 초기화할 때만 작동한다. 아래는 int형 변수 a와 float형 변수 b의 합을 auto키워드를 통해 sum변수에 저장하고 출력한 것이다. #include using namespace std; int main() { int a = 5; float b = 3.5; auto sum = a + b; cout