C++ 广义参数
我想知道是否有可能有一个函数参数,而不关心它的类型是什么。 例如,我有一个覆盖了的类,您可以使用模板:C++ 广义参数,c++,C++,我想知道是否有可能有一个函数参数,而不关心它的类型是什么。 例如,我有一个覆盖了的类,您可以使用模板: template <typename T> CLog& CLog::operator <<(const T& p) { buffer << p; return *this; } template <class T> Clog& Clog::operator <<(const T& t)
template <typename T>
CLog& CLog::operator <<(const T& p) {
buffer << p;
return *this;
}
template <class T>
Clog& Clog::operator <<(const T& t) {
buffer << t;
return *this;
}
模板
阻塞&CLog::operator这可以通过模板完成:
template <typename T>
CLog& CLog::operator <<(const T& p) {
buffer << p;
return *this;
}
template <class T>
Clog& Clog::operator <<(const T& t) {
buffer << t;
return *this;
}
模板
阻塞&Clog::operator在这种情况下,您可以使用模板
template<class T>
CLog& Clog::operator <<(const T& value) {
buffer << value;
return *this;
}
模板
CLog&CLog::operator另一个答案基本正确,但不支持移动操作。使用
template <typename T>
CLog& CLog::operator <<(T&& p) {
buffer << std::forward<T>(p);
return *this;
}
模板
阻塞&阻塞::操作员哇。3个几乎相同答案之间的3秒差异:在我常去的其他论坛上,我很少看到这种情况。