为什么" \ t"在c ++中有不同的宽度?

时间:2017-10-26 13:00:40

标签: c++

这是我执行以下代码后得到的结果:

tab result

cout << "The size of an int is: \t" << sizeof(int) << " bytes.\n";
cout << "The size of an long is: \t" << sizeof(long) << " bytes.\n";
cout << "The size of an double is: \t" << sizeof(double) << " bytes.\n";

为什么第一行中的\ t远小于第二行或第三行?

3 个答案:

答案 0 :(得分:7)

它不是C ++的依赖。制表representation size取决于行到下一个Tab stop

的位置

Tab_key

Tab_stop

答案 1 :(得分:4)

维基百科标签键:

  

标签键Tab↹(制表键[1]或表格键[2]的缩写)   在键盘上用于将光标推进到下一个制表位。

维基百科标签停止

  

打字机上的制表位是滑架移动的位置   机械齿轮停止了。制表位是手动设置的   按Tab键导致滑架进入下一个制表位。   在计算机上的文本编辑器中,实现了相同的概念   简单地使用自动固定制表位。

tldr:&#39;标签&#39;将光标跳转到下一个tabstop,例如每4个字符一行。因此,在位置3处执行选项卡将跳转到4.位置4处的选项卡跳转到8。

答案 2 :(得分:3)

因为\t与您的情况下的8个字符长的下一个制表位对齐。您的第一行长度为23个字符,因此下一个制表位为24个字符。你的第二行是26个字符长,所以下一个制表位是32个字符。