gpt4 book ai didi

c++ - 如何在 C++03 中使用 "dereference a type"?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:58:27 29 4
gpt4 key购买 nike

如何在 C++03 中获取另一种类型的“解引用类型”?请注意,它可以是其他可取消引用的类型,例如 std::vector<int>::iterator .

例如如果我有

template<typename T>
struct MyPointer
{
T p;
??? operator *() { return *p; }
};

我怎样才能弄清楚用什么替换 ???和?

(没有提升!我想知道如何自己解决。)

最佳答案

template<typename>
struct dereference;

template<typename T>
struct dereference<T*>
{
typedef typename T type;
};

template<typename T>
struct MyPointer
{
T p;
typename dereference<T>::type operator *() { return *p; }
};

关于c++ - 如何在 C++03 中使用 "dereference a type"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7302053/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com