我有一个带有模板参数的方法
bool insert_into_tree(const T new_key, const long &new_index){}
T
仅限于std::string
和int
类型。我希望 的值new_key
是有意义的,因此我不想要一个空std::string
但可以接受 的零值int
。
这是一个 Java 模板与 null 比较的示例
if (key == null) {}
key defined as T extends Comparable<? super T>
在 c++ 内
key is defined as template <class T>
如果T
是std::string
,则不存在overloaded operator==
与 进行比较NULL
的可能。
如果T
是int
,与 null 的比较是可以接受的。
因此,我可以采用什么方法来使模板参数比较像在 Java 中一样工作?
换句话说,如果在 Java 中我有一个模板参数可以与 null 进行比较,那么我如何比较 c++ 中的模板参数,以便可以实现 NULL 或其他一些指示 null 的适当值。