Return 使用函数模板的 X 类型变量的值

Return the value of a variable of type X using a function template

我如何return函数模板中的变量值可以接受所有类型?

例如,假设我有以下功能:

template<typename T>
size_t func(T const&) {
    return sizeof(T);
}

它可以接受任何类型,例如 intunsigned intBSTRlong 以及 return 大小的类型。

但我喜欢获取任何类型变量的值,例如:

template<typename T, valueof typename>
X func(T const&) {
    // << return valueof(T) OR return typeid(T).value OR WHATELSE??? >>
}

比如我上面需要return Hello World!当我像func<BSTR>("Hello World!")那样使用的时候。当我像 func<int>(123456).

这样使用它时,我需要上面的 return 123456

我已经知道如何使用 typeid(T).name() 获取变量类型的名称,但不知道如何获取具有 T 类型的变量的值。

提前致谢。

只需return参数值:

template <typename T>
T func(const T& param) {
    return param;
}