gpt4 book ai didi

c++ - 什么时候删除模板实例比删除非模板重载更可取?

转载 作者:IT老高 更新时间:2023-10-28 21:51:38 26 4
gpt4 key购买 nike

假设我有一个使用原始指针的模板:

template<typename T>
void processPointer(T* ptr);

我不希望使用 void* 指针调用它。看来我有两个选择。我可以删除非模板重载:

void processPointer(void*) = delete;

或者我可以删除一个模板实例化:

template<>
void processPointer<void>(void*) = delete;

声明非模板重载更容易(不用尖括号)。有什么理由让我更喜欢删除模板实例化吗?

最佳答案

Here's one reason支持模板版本:processPointer<void>(void*)仍然可以直接调用,避免其他重载。

关于c++ - 什么时候删除模板实例比删除非模板重载更可取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21028144/

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