我想知道我是否可以创建这样的函数:
void printSomething(whatevertype thingsToPrint)
{
std::cout << thingsToPrint << std::endl;
}
所以我可以这样做:
printSomething("I can print String");
还有:
printSomething(9);
因此它将string和int数据类型作为唯一参数。
我不确定这是否可行。
感谢。
答案 0 :(得分:2)
那些被称为模板
routingContext.getBody();
routingContext.getBodyAsJson();
答案 1 :(得分:2)
template<typename T>
void printSomething(const T& t)
{
std::cout << t << std::endl;
}
这将接受任何类型的对象,但如果(std :: cout&lt;&lt; t)无法编译,则无法编译。
答案 2 :(得分:-1)
以下代码可以打印并打印任意数量的内容。它会返回cout,因此如果需要,可以将endl
放在最后。
#include <iostream>
using namespace std;
std::ostream & print_things(){return cout;}
template<class Head, class... Tail>
std::ostream & print_things(Head && head, Tail&&... tail) {
cout << head;
print_things(std::forward<Tail>(tail)...);
return cout;
}
int main()
{
print_things(5, "hello") << endl;
}