相关疑难解决方法(0)

是否必须在C和C++中转义制表符?

在C和C++(以及其他几种语言)中,字符和字符串常量中的水平制表符(ASCII代码9)以转义形式表示为'\t'"\t".不过,我经常键入字符串文字例如在转义字符制表"A B"(存在王全凯一个TAB AB),以及至少铛++似乎不打扰-字符串似乎等同于"A\tB".我更喜欢未转义的版本,因为长缩进的多行字符串在源代码中更易读.

现在我问自己这在C和C++中是否通常是合法的,或者只是由我的编译器支持.非字符表制表符在字符和字符串常量中的可移植性如何?

令人惊讶的是,我无法找到这个看似简单的问题的答案,无论是Google还是stackoverflow(我刚发现这个含糊不清的相关问题).

c c++

54
推荐指数
3
解决办法
2531
查看次数

为什么使用"\ t"而不是"<press TAB>"作为字符串?

我只是尝试编译一些C++代码,这些代码TAB在字符串中使用了文字Tab字符(如我在键盘上按下键).令我惊讶的是,它汇编得很好.回想起来,我认为这是有道理的,因为它是一个像其他任何人一样的角色.

cout << "Tab: [TAB]";
Run Code Online (Sandbox Code Playgroud)

在此之前,我总是习惯\t在字符串中定义标签.

cout << "Tab: [\t]";
Run Code Online (Sandbox Code Playgroud)

显然,TAB在字符串中使用字面值的代码在可读性方面会受到很大的影响,但是\t除了约定之外还有其它技术原因吗?

c++ tabs conventions

4
推荐指数
1
解决办法
1451
查看次数

标签 统计

c++ ×2

c ×1

conventions ×1

tabs ×1