c – 用于流格式化的ios和ios_base类

前端之家收集整理的这篇文章主要介绍了c – 用于流格式化的ios和ios_base类前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我发现有两种方法可以为iostream设置setf()/ unsetf(),也就是说
(1)ios和(2)ios_base.
#include <iostream>
using namespace std;

int main() {
    cout.width(5);
    cout << 123 << endl;

    cout.setf(ios::adjustfield); // (1) using ios::
    cout << 123 << endl;

    cout.width(5);
    cout << 456 << endl;

    cout.setf(ios_base::adjustfield); // (2) using ios_base::
    cout << 456 << endl;

    return 0;
}

当我想改变ostream的格式时,它们的区别是什么;

您在更改格式时通常使用哪种方法

解决方法

常量实际上是在std :: ios_base中定义的,但是std :: ios(实际上是std :: basic_ios< cT,Traits>)是从std :: ios_base派生的.因此,可以使用std :: ios访问std :: ios_base中定义的所有成员.

类std :: ios_base包含完全独立于流的模板参数的所有成员. std :: basic_ios< cT,Traits>派生自std :: ios_base并定义输入和输出流之间通用的所有成员.

猜你在找的C&C++相关文章