C++에서 템플릿 인자를 특정 형식으로 제한하는 방법이 있나요?
글쓴이: HDNua / 작성시간: 토, 2018/08/04 - 1:12오후
C++에서 템플릿 인자를 특정 형식으로 제한하는 방법이 있나요?
Java에서는 다음과 같이 제네릭 리스트의 타입 T가 Comparable 타입이라고 명시할 수 있습니다.
class Node> {
private T data;
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
}
C++ std::vector의 템플릿 인자로 타입의 개체만 받으려고 하는데 검색이 쉽지 않네요.
아시는 분 계신가 합니다.
Forums:
static_assert와 type_traits를 이용하시면 가능할 것 같습니다.
답변 감사드립니다.
정신이 없었는지 글을 올려놓고 이제서야 답글 달아주신 것을 확인했네요. 늦게나마 감사드립니다 :)
저는 이렇게 생각했습니다.
C++20를 사용하신다면, concept이 같은
C++20를 사용하신다면, concept이 같은 기능을 할겁니다.
https://en.cppreference.com/w/cpp/language/constraints
예컨대 java의 Comparable에 대응되는 concept으로는 StrictTotallyOrdered이 있는 듯.
https://en.cppreference.com/w/cpp/concepts/StrictTotallyOrdered
댓글 달기