通過模板判斷Value是否為指標

westfly發表於2016-12-15

有個引數,需要判斷其Value是否為指標,如果是做相應的處理。

程式碼示例如下,後來發現is_pointer在std空間中。

#include <stdio.h>
#include<iostream>
#include<vector>
template<typename T>
struct is_pointer { static const bool value = false; };

template<typename T>
struct is_pointer<T*> { static const bool value = true; };

template<typename T>
void func(T& v) {
    std::cout << "is it a pointer? " << is_pointer<T>::value << std::endl;
}
int main(int argc, char *argv[])
{
    __uint128_t x = 1111UL;
    printf("%llu\n", x);
    func(x);
    return 0;
}

  

相關文章