PHP的编译器C ++中的StringBuilder

时间:2015-01-11 18:58:14

标签: c++

PHP编译器具有很棒的功能,即PHP编码器应该知道的。像那样使用它

$var1 = 123;
$var2 = 321;
$var3 = array( "key" => "value", "key2" => 123);

$variable = "Var1 has $var1 value. Var2 has $var2 value. 
    And now array part: {$var3["key"]}.";

现在问题,当我向其他人解释什么" PHPs字符串构建器":

是 - 我该怎么称呼它? Beacos对我来说真的不是StringBuilder(但也许是吗?)。

Boost或C ++算法中是否有任何构建可以为我做到这一点?我可以用正则表达式做到这一点,并替换/追加alredy现有的字符串。我可以自己做,但为什么我制作自行车,如果有大量的?

P.S。也许它们不是很多,但至少有一个我知道的 - PHP&#39。

1 个答案:

答案 0 :(得分:3)

这称为字符串插值

这不是一个谜或秘密;那里an entire section of the PHP manual dedicated to explaining it

C有printf做了类似的事情:

const unsigned int MAX_SIZE = 255;
char variable[MAX_SIZE];
snprintf(variable, MAX_SIZE-1, "Var1 has %d value. Var 2 has %d value.", var1, var2);

在C ++中,你真的不需要字符串插值,可能只是使用std::stringstream构建一个字符串:

std::stringstream ss;
ss << "Var1 has " << var1 << " value. Var 2 has " << var2 << " value.";

const std::string variable = ss.str();

对于实际模板,我喜欢ctemplate