0

我最近在查看 SGI STL 的源代码,发现它在许多地方使用了我无法理解的调用运算符,例如:

typedef typename _type_traits<T1>::is_POD_type is_POD;
_uninitialized_fill_aux(first, last, v, is_POD());

最后有一个调用操作(is_POD())。

我知道is_POD是一种类型,它的定义如下:

struct _true_type{};
struct _false_type{}; 

template <class T>
struct _type_traits{ 
    ...
    ...
    typedef _false_type is_POD_type;
};  

如我所见,is_POD是一个类型但它没有重载()操作,那它怎么调用()呢?</p>

这个地方的调用功能是什么意思?

非常感谢!

4

0 回答 0