C++14에서 추가되는 기능

비교, 연산용 클래스 템플릿인 less, greater, plus, multiplies 등을 템플릿 실인수 없이 사용할 수 있다.

 


[c++11]

vector<unsigned> v { 10, 50, 20, 30 };

sort(v.begin(),v.end(),

greater<unsigned>());

 

vector<int> v { -10, 50, 20, 30 };

sort(v.begin(),v.end(), greater<unsigned>());

 

위의 경우 벡터 v int로 바뀌었는데 greater 템플릿은 실인수로 unsigned로 되어 있어서 컴파일 에러가 발생한다.

그러나 아래의 C++14에서는 템플릿에 실인수를 넣지 않아서 컴파일러가 알아서 처리하도록 한다.


[C++14]

vector<unsigned> v { 10, 50, 20, 30 };

sort(v.begin(), v.end(), greater<>());

저작자 표시
신고
by 흥배 2014.07.22 08:00
| 1 |

티스토리 툴바