프로그래밍/C++
[C++11] std::is_same
Changun An
2023. 4. 27. 02:20
반응형
데이터 타입 두 개의 일치 여부를 true / false로 반환하는 기능.
- 같으면 true 다르면 false
구조
template< class T, class U >
inline constexpr bool is_same_v = is_same<T, U>::value;
헤더 파일
#include <type_traits>
적용 예시)
auto , decltype 이용 시 판단이 필요한 경우.
Test Code
#include <iostream>
#include <type_traits>
int main() {
std::cout << std::is_same<int, int>::value << ' '; // ~ true
std::cout << std::is_same<int, double>::value << ' '; // ~ false
std::cout << std::is_same<int, const int>::value << '\\n'; // ~ false
std::cout << std::is_same<int, std::int32_t>::value << ' '; // ~ true
std::cout << std::is_same<int, std::int64_t>::value << '\\n'; // ~ false
auto a = 3;
decltype(3) x;
auto b = 3.3;
std::cout << std::is_same<decltype(a), decltype(b)>::value << ' '; // ~ false
std::cout << std::is_same<decltype(a), decltype(x)>::value << ' '; // ~ true
}
반응형