谁能解释一下setw机械手的声明?我完全不懂尝试。 iomanip中setw的声明如下 smanip setw(int)现在什么是smanip?当我们给std::cout (adsbygoogle = window.adsbygoogle || []).push({}); 最佳答案 smanip是实现定义的类型。只要工作完成,该库就可以将其定义或类型化为喜欢的任何东西。实际上,它将是某种结构,表示(a)要执行的操作,以及(b)在该操作中使用的参数10。它可能还具有执行操作的功能,也可能没有,这取决于实现如何定义operator<<(ostream &, smanip)或某种类似的重载来捕获必要的操作数类型。我尚未检查实现以找出答案。至于输出如何受到影响:my_stream << setw(10)定义为对流具有与调用my_stream.width(10)相同的效果。因此,operator<<重载将确保以某种特定于实现的方式发生这种情况。非参数化流操纵器的运算符重载是专门为调用操纵器而定义的,但是有了smanip,实现的自由度更大。 (adsbygoogle = window.adsbygoogle || []).push({});
10-05 18:12