C++;setiosflags函数操纵器-待定缩进 我正在学习C++,我的重点是代码> CUT//COD>机械手函数。

C++;setiosflags函数操纵器-待定缩进 我正在学习C++,我的重点是代码> CUT//COD>机械手函数。,c++,indentation,cout,manipulators,C++,Indentation,Cout,Manipulators,通过运行下面的代码,我在第二行中得到一个缩进,其中包含Gauthier #包括 #包括 int main() { std::coutstd::ios::left告诉我们在右边添加填充字符,也就是说,它在第一个字符串中添加了几个字符,所以“Mathieu\n”“Mathieu\n”变成了“”Mathieu\n”。末尾有新行字符('\n'),所以添加的空格被移到下一行(Gauthier)。因此,这不是第二行的缩进,它们是第一行的尾随字符。这是一个令人惊讶的答案(听起来也没那么糟糕)。然而,我做了这个

通过运行下面的代码,我在第二行中得到一个缩进,其中包含
Gauthier

#包括
#包括
int main()
{

std::cout
std::ios::left
告诉我们在右边添加填充字符,也就是说,它在第一个字符串中添加了几个字符,所以
“Mathieu\n”
“Mathieu\n”变成了“
”Mathieu\n”
。末尾有新行字符(
'\n'
),所以添加的空格被移到下一行(
Gauthier
)。因此,这不是第二行的缩进,它们是第一行的尾随字符。

这是一个令人惊讶的答案(听起来也没那么糟糕)。然而,我做了这个,我很难符合您的解释。如果这是真的,为什么不在另一个甚至更短的名称中添加空格?(提示:我们认为
setw()
std::cout更有趣:使用
std::setw(0)重置
在每个输出行的开头都不会改变结果:@cygien您是否注意到
std::ios::left
在我的第一次和第二次测试中产生了明显的效果?;-)不过,我也找到了解释。这是否回答了您的问题?
Mathieu
  Gauthier
Paul
Louis
Pierre

Program ended with exit code: 0