C++ 原始字符串是否比普通字符串快?

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,比如嗨,你好吗?比我们使用字符串的“正常”方式要快 那么,实际上

我想问一下原始字符串在编译时是否比普通字符串快

让我解释一下“原始”和“正常”字符串的含义。。。 我们知道有一个“R”字

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%确信你混淆了非常不同的逃跑案例及其含义。我想我真的这么认为