3

我有一个名为 Atomic 的类,它基本上是一个_Atomic_word调用 gcc atomic 内置函数的 plus 方法。

class Atomic{
    mutable volatile _Atomic_word value_;
public:
    Atomic(int value = 0): value_(value) {}
    **** blah blah ****
};

我想std::numeric_limits<Atomic>实例化std::numeric_limits<underlying integer type>(例如在我的系统_Atomic_word上只是一个 int 的 typedef)。

有没有办法做到这一点?

4

1 回答 1

15

std::numeric_limits<Atomic>将实例Atomic化为类型,你不能颠覆它。但是你可以专注std::numeric_limitsAtomic这样

template<>
class numeric_limits< Atomic > : public numeric_limits< Atomic::UnderlyingType >
{
};

您显然在其中公开UnderlyingTypeAtomic.

于 2009-10-23T18:46:01.550 回答