我想用一个参数调用一个函数,这是一个构造的字符串。例如:
std::string str = "data";
// ...
debug("we have " + str + " and it's good");
据我所知,它在第一个连接中创建一个字符串,然后在第二个连接中创建一个新字符串,这意味着两个不可避免的分配。
以下代码的性能是否更高?
std::string str = "data";
// ...
debug(std::string("we have ") += str += " and it's good");
或者是第一个由编译器优化的类似代码吗?