Командная строка события после сборки

Ключ, как говорили другие, использовать манипуляторы. То, что они пренебрегли, говорит, что вы обычно используете манипуляторы, которые вы пишете сами. Манипулятор FFmt (который соответствует формату F в Фортране, довольно прост:

class FFmt
{
    int myWidth;
    int myPrecision;
public:
    FFmt( int width, int precision )
        : myWidth( width )
        , myPrecision( precision )
    {
    }

    friend std::ostream& 
    operator<<( std::ostream& dest, FFmt const& fmt )
    {
        dest.setf( std::ios_base::fixed, std::ios_base::formatfield );
        dest.precision( myPrecision );
        dest.width( myWidth );
        return dest;
    }
};

Таким образом, вы можете определить переменную для каждого столбца, например:

FFmt col1( 8, 2 );
FFmt col2( 6, 3 );
//  ...

и напишите:

std::cout  << col1 << value1
    << ' ' << col2 << value2...

В общем, кроме простейших программ, вероятно, вы не должны использовать стандартные манипуляторы, а скорее настраиваемые манипуляторы на основе вашего приложения, например temperature и pressure, если это то, с чем вы сталкиваетесь. Таким образом, в коде ясно, что вы форматируете, и если клиент вдруг попросит еще одну цифру в давлении, вы точно знаете, где произвести изменение .

0
задан Ashkan Mobayen Khiabani 31 March 2019 в 05:59
поделиться