Tag: 文字

我可以在逐字string文字中转义双引号吗?

在C#中的逐字串string(@“foo”),反斜杠不被视为转义,所以做“双引号不起作用。有没有办法在逐字串string中得到一个双引号? 这可以理解,不起作用: string foo = @"this \"word\" is escaped";

C ++多字符文字

我不知道C和C ++允许multicharacter literal :不是'C'(在C中为int类型,在C ++中为char ),而是'tralivali'(类型为int !) enum { ActionLeft = 'left', ActionRight = 'right', ActionForward = 'forward', ActionBackward = 'backward' }; 标准说: C99 6.4.4.4p10:“包含多个字符(例如'ab')的整数字符常量的值,或包含不映射到单字节执行字符的字符或转义序列的值是实现定义的“。 我发现它们在C4引擎中被广泛使用。 但是在我们谈论平台独立序列化时,我想他们并不安全。 Thay也会因为看起来像字符串而感到困惑。 那么什么是多字符文字的使用范围,对某些东西有用吗? 他们在C ++只是为了与C代码兼容吗? 他们被认为是一个不好的功能,作为goto运算符或不?

为什么Python的原始字符串文字不能以单个反斜杠结束?

从技术上讲,任何奇数的反斜杠,如文档中所述 。 >>> r'\' File "<stdin>", line 1 r'\' ^ SyntaxError: EOL while scanning string literal >>> r'\\' '\\\\' >>> r'\\\' File "<stdin>", line 1 r'\\\' ^ SyntaxError: EOL while scanning string literal 看起来解析器可能只是将原始字符串中的反斜杠视为常规字符(是不是原始字符串是关于什么?),但我可能错过了一些明显的东西。 TIA!