하루의 쉼터

[C++11] std::is_same 본문

프로그래밍/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

}
반응형
Comments