【发布时间】:2019-07-14 08:11:05
【问题描述】:
我想知道是否可以根据模板参数是否为指针进行一些条件输入?
例如,如果它是一个指针(即 T*),我希望下面的 get 方法返回 T 本身。或者 T* 如果不是指针(即 T)。
template<typename T>
class MyContainer {
T get(); // If T is a pointer
T* get(); // If T is not a pointer
}
【问题讨论】:
-
std::remove_pointer_t<T> * get();怎么样 -
@MichaelChourdakis 几乎是一样的,但对我帮助不大。我认为它是基于参数的重载解决方案。我的
get()方法没有任何参数。 -
I think it is basing the overload resolution based on the parameter.- 不,不是。 -
@MichaelChourdakis 你是对的,它可能是重复的。
标签: c++