C++中的System.out.println函数语法

Han*_*eck 4 c++ java println

我想用cout在C++中创建一个与java中的println函数相同的函数.这意味着调用应该是这样的:

int a=5
println("A string" + a);
Run Code Online (Sandbox Code Playgroud)

变量a应该具有任何基本类型.在这种情况下我应该具有什么样的参数以及它将如何工作?

谢谢

mka*_*aes 6

正如larsmans已经指出的那样,java在运算符+上有重载.所以你可以用整数来连接字符串.这在C++中也是可能的,但对于所有类型都不是开箱即用的.

你可以使用像这样的模板化函数.

#include <iostream>
using namespace std;

template <typename T>
void printer(T t) 
{ 
    cout << t << endl;
}

template <typename T, typename ...U>
void printer(T t, U ...u)
{
  cout << t;
  printer(u...);
}


int main()
{
  int a=5;
  printer("A string ", a);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

但我建议看一下boost :: format.我想这个库会做你想要的.