C++ 原始字符串是否比普通字符串快?
我想问一下原始字符串在编译时是否比普通字符串快 让我解释一下“原始”和“正常”字符串的含义。。。 我们知道有一个“R”字C++ 原始字符串是否比普通字符串快?,c++,string,literals,C++,String,Literals,我想问一下原始字符串在编译时是否比普通字符串快 让我解释一下“原始”和“正常”字符串的含义。。。 我们知道有一个“R”字 const char*raw=R“(你好\n世界!)”将输出 Hello\nWorld! Hello World! const char*normal=“Hello\nWorld!”将输出 Hello\nWorld! Hello World! 那么,实际上什么更快呢?我认为对字符串使用R-Literal,比如嗨,你好吗?比我们使用字符串的“正常”方式要快 那么,实际上
const char*raw=R“(你好\n世界!)”代码>将输出
Hello\nWorld!
Hello
World!
const char*normal=“Hello\nWorld!”
将输出
Hello\nWorld!
Hello
World!
那么,实际上什么更快呢?我认为对字符串使用R-Literal,比如嗨,你好吗?
比我们使用字符串的“正常”方式要快
那么,实际上什么更快呢?我想用R-Literal来表示字符串,比如Hi,你好吗?比我们使用字符串的“正常”方式更快
好的,当您询问“普通”或原始字符串文字对编译时的影响时,可能是原始字符串文字可以处理得更快,因为编译器不需要处理转义字符解析和翻译
虽然我相信差别不会太大
原始字符串文本的主要优点是,在编写源代码时,您不需要关心特殊字符的转义。在特定编译器中,原始字符串的解析速度可能稍快或稍慢,但差异几乎肯定太小而不会引起注意
原始字符串的目的不是为了提高编译速度。它允许您以更可读的方式编写包含大量特殊字符(如反斜杠和引号)的字符串文字,而无需插入大量额外的反斜杠进行转义
使用普通的字符串文字,除非字符串需要大量转义,使其在源代码中看起来很尴尬。仅对这些情况使用原始字符串文字。它们都是在编译时解析的。那么你是在问编译时间还是运行时的影响?我忘了提到这一点,我是在问编译时间。我确信R-literal在编译时比另一个更快,不是吗?我不这么认为。你为什么在意?您是否计划将千兆字节的数据放入字符串文本中?原始字符串文本允许您将字符串输入到源代码中,而无需考虑转义序列。它们与程序速度无关。谢谢你回答我的问题!顺便说一句,“原始字符串文本的主要优点是,在编写源代码时,您不需要关心特殊字符的转义。”,那么R-literal会修复一些MySQL字符问题吗?@Lazcano“那么R-literal会修复一些MySQL字符问题吗?”也许。取决于具体的使用案例。@Lazcano>安全答案:不。从上下文来看,我99%确信你混淆了非常不同的逃跑案例及其含义。我想我真的这么认为