源码实现:

// 检查是否为 volatile 类型

template<typename>
    struct is_volatile
    : public false_type
    { };

template<typename _Tp>
    struct is_volatile<volatile _Tp>
    : public true_type
    { };

测试程序:

    std::cout << "is_volatile test: " << std::endl;
    std::cout << "is_volatile<volatile int> = " << mySTL::is_volatile<volatile int>::value << std::endl;
    std::cout << "is_volatile<int> = " << mySTL::is_volatile<int>::value << std::endl;
    std::cout << std::endl;