c++ - 使用类名的模板值作为指针

标签 c++ templates pointers

我想向另一个对象发送一个“ping”,看看它是否还活着。这主要用于开发期间的测试。我一遍又一遍地编写相同的代码,所以我正在研究如何对其进行模板化。这是我的代码(还没有用):

template<class T>
bool pingTest(T) {
    return T.ping();  // <<< HOW DO I FORM THIS LINE?
}

最佳答案

那是因为你应该添加一个实例:

template<class T>
bool pingTest(T& instance) {
    return instance.ping();  // <<< HOW DO I FORM THIS LINE?
}

或者,甚至更好:制作 ping静态,因此没有 T 的实例需要传递到函数中,从而节省内存和时间:

template<class T>
bool pingTest() {
    return T::ping();  // <<< HOW DO I FORM THIS LINE?
}

关于c++ - 使用类名的模板值作为指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37782199/

相关文章:

c++ - 为什么在这种情况下 c++ 模板参数推导失败?

c++ - 指针算术题(数组大小)[C++]

c++ - 指向彼此的对象的 priority_queue

c++ - 为什么编译器会警告隐藏初始化列表中的成员?

c++ - Winsock2:select()函数给出 "invalid arguement error"(错误10022)?

python - TensorFlow的所有算法都是用C++和Python写的,难道只是为了简单易用的API?

c++ - 如何使 eclipse cdt(c++) 一键构建&运行?

c++ - 具有多态性的模板特化

C++ 类型特征虚拟示例 : compiler error

c - 附加和读取链接列表的函数