gpt4 book ai didi

c++ - 在 C++ 中将模板对象自动转换为模板指针

转载 作者:太空宇宙 更新时间:2023-11-04 15:50:45 25 4
gpt4 key购买 nike

我有一个 URes包含指向 <T> 的单个指针的类, 带有间接运算符 ->*重载,因此我可以直接将实例用作指针。

但是我也希望能够通过我的 URes函数的实例通常在 URes 中获取指针实例。

我该如何做到,当我的 URes实例对象被传递给一个函数,它会自动转换为它包含的指针吗?

最佳答案

创建任何出站转换的方式相同:通过声明和定义运算符。

在这种情况下,您需要一个成员 operator T*

Example :

template <typename T>
struct Foo {
operator T*() {
return 0;
}
};

void bar(int* p) {}

int main() {
Foo<int> f;
bar(f);
}

但是,我建议避免这种情况并改为实现成员 T* get()。它应该是调用作用域从您的对象获取指针的显式步骤。

关于c++ - 在 C++ 中将模板对象自动转换为模板指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8971516/

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