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);
}
它可以接受任何类型,例如 int
、unsigned int
、BSTR
和 long
以及 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;
}
我如何return函数模板中的变量值可以接受所有类型?
例如,假设我有以下功能:
template<typename T>
size_t func(T const&) {
return sizeof(T);
}
它可以接受任何类型,例如 int
、unsigned int
、BSTR
和 long
以及 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)
.
123456
我已经知道如何使用 typeid(T).name()
获取变量类型的名称,但不知道如何获取具有 T
类型的变量的值。
提前致谢。
只需return参数值:
template <typename T>
T func(const T& param) {
return param;
}