LINUX.ORG.RU

История изменений

Исправление Reset, (текущая версия) :

Ъ-C++-way будет таким

$ cat format.cpp
#include <boost/format.hpp>
#include <iostream>

int main()
{
        float a = 3.1415;
        int b   = 10;
        std::cout << boost::format("%5.2f %03d \n")%a%b;
}

Как видишь, принципиальных отличий по синтаксису от printf нет, однако тут есть огромное преимущество в виде type-safe. printf через ... может пропустить любую хрень и в лучшем случае это закончится сегфолтом, а в худшем трудноуловимой ошибкой. В данном случае, хрень просто не скомпилируется.

Исходная версия Reset, :

по Ъ-C++-way будет таким

$ cat format.cpp
#include <boost/format.hpp>
#include <iostream>

int main()
{
        float a = 3.1415;
        int b   = 10;
        std::cout << boost::format("%5.2f %03d \n")%a%b;
}

Как видишь, принципиальных отличий по синтаксису от printf нет, однако тут есть огромное преимущество в виде type-safe. printf через ... может пропустить любую хрень и в лучшем случае это закончится сегфолтом, а в худшем трудноуловимой ошибкой. В данном случае, хрень просто не скомпилируется.