PHP的编译器StringBuilder in C++

PHP's compilers StringBuilder in C++

本文关键字:in C++ StringBuilder 编译器 PHP      更新时间:2023-10-16

PHP编译器具有很棒的功能,evry 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"]}.";

现在的问题,当我向其他人解释什么是"PHP 字符串生成器"时:

是 - 我应该怎么称呼它?Beacos对我来说并不是真正的StringBuilder(但也许是?

是否有任何内置的 Boost 或 C++ 算法可以为我做到这一点?我可以用正则表达式做到这一点,并替换/附加到现有字符串。我可以自己做,但是如果有很多,我为什么要做bycicle?

附言也许它们不是很多,但至少我知道一个 - PHP。

这称为字符串插值

这不是一个谜,也不是一个秘密;PHP手册中有一整节专门解释它。

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();

对于实际的模板,我喜欢模板。