led*_*ter 6 c++ gcc indentation libstdc++
我已经研究 libstdc++ 标头几年了,我总是对它混合制表符和空格的奇怪程度感到惊讶,例如:
template<typename _Up, typename... _Args>
<tab >constexpr
<tab >_Optional_payload_base(std::initializer_list<_Up> __il,
<tab ><tab ><tab > _Args&&... __args)
<tab >: _M_payload(__il, std::forward<_Args>(__args)...),
<tab > _M_engaged(true)
<tab >{ }
<...>
<tab > _Empty_byte _M_empty;
_Up _M_value;
<tab >};
template<typename _Up>
<tab >union _Storage<_Up, false>
<tab >{
Run Code Online (Sandbox Code Playgroud)
为什么即使在同一行中也会随机混合制表符和空格?
当使用非 8 个选项卡显示设置查看时,它会变得更加混乱(我猜很多用户可能都有......)。
libc++ 标头 OTOH 看起来很好(没有选项卡 AFAIR)...
显然,如果它只是关于制表符与空格,那么这将是一个基于意见的问题,但这是两者的混合......我认为这从来都不是一个好主意,并且除了 libstdc++ 之外没有在任何地方看到它,我认为......
这是常见的老式智能制表符缩进,用于节省磁盘空间并提高 USB 之前设备之间的传输速度。此外,与在 4 个或 8 个空格上移动相比,矩阵针式打印机在单个选项卡符号上移动的滑架速度更快。
\n列表项是从范妮文章SmartTabs和Indent with tabs,align with space 中获得的引用。
\n