0

对于算术类型T,可以有一个包含转换运算符的类:

template <typename T>
class Value
{
    constexpr operator T() const;
};

operator是否适用于所有类型(例如,它是否适用于?)如果不是,它适用T = std::vector<double>于哪些类型

4

1 回答 1

1

类型就是一种类型:使用内置类型可以做的事情很少,而不是使用适当定义的用户定义类型。在这种情况下,唯一真正的要求是类型是可复制的(并且您有某种方式在实现中构造它)。

顺便说一句,我认为你的意思是:

class Value
{
    template <typename T>
    constexpr operator T() const;
};

const(除了对于很多类型,它不会真正用作 aconstexpr或 no)。

于 2013-01-23T18:47:29.440 回答