现在是 2023 年,我认为在文本和标记等其他语言中如此常见的字符串标识符很愚蠢。
C++ 使用这个符号:“ 表示字符串的开头和结尾。
有没有办法让这个符号成为别的东西?例如 \xac 也是一个 1 字节的字符。例如,如果字符串标识符不是双引号,那么使用 system() 函数会更容易使用,双引号会派上用场。
这也适用于像 php 这样的东西,我使用 echo '';用单引号,这样我就可以用双引号在里面写一些东西,但有时我需要能够同时使用双引号和单引号。但是我们真的仅限于引号和双引号作为我们的分隔符吗?我们不能使用或设置一个没有出现在其他地方的自定义角色吗?
如果可行,请告诉我怎么做。如果这是白日梦,也请告诉我。
//Example: (I know the character I'm about to use is 3-bytes (\xe2\x81\x91) but just for demonstration...
#include <iostream>
int main() {
std::cout << ⁑Hello world!\n⁑;
system(⁑echo -e '"hello\nworld"' | grep 'hello' | sed s/'"hello'/'"Hello!"'/⁑);
return 0;
}
谢谢
我试着在谷歌上搜索了很多页面(分页?),但我什至找不到问这个问题的人。
如果我正确理解你的问题,这可以通过使用原始字符串文字轻松解决,例如:
std::string myStr = R"('Using single quotes', "double quotes")";
这些括号内从 "(
到 )"
的任何内容都将被视为字符串,您可以在该字符串中写入任何您想要的内容,甚至可以编写不带 \
的多行字符串。请注意,像 \n
、\r
这样的符号也不会被视为“换行符”或“返回插入符号”,而是按照它们所写的那样处理。