PHP的编译器StringBuilder in C++
PHP's compilers StringBuilder in C++
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();
对于实际的模板,我喜欢模板。
相关文章:
- netcat command in c++
- Difference in displaying cv2 Mat
- C++ MFC Libraries in Travis CI
- 如何在OpenSSL中从configuration.h.in获取configuration.h
- 创建具有 new in 函数和"this is nullptr"异常的对象
- IN, OUT, INOUT Parameters
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 有人安装"IITB Simplecpp in mac"吗?
- 从 C 样式字符串中删除子字符串 "in place" 在C++代码中
- 如何修复"error: ‘_1’ was not declared in this scope"?
- Softmax Implementation in C++
- 将 out/in out 参数与 if/switch 的 init 语句一起使用
- IF-nesting in c++
- Gurobi GRBModel and GRBmodel in C++
- Tensorflow Hub in C++
- Centos7 g++ "to_string is not in a member of std"
- InitializeCriticalSectionEx Not Located In KERNEL32.Dll
- 将 lambda 表达式传递给 std::function in C++
- @CPPFLAGS@在 Makefile.in 中意味着什么?
- std::async from std::async in windows xp