Ну таки cout - действительно мусор, непригодный к использованию. Мне непонятно, почему в стандарте до сих пор нет strprintf - как sprintf, но в std::string. Я ее пишу на каждом месте где работаю (и я не один такой). И от исключений действительно надо держаться подальше (хотя изредка в них и находится польза).
Форматирование нужно везде. Кстати, более лучший вариант есть в локализованных строках в Виндовсе, где можно указывать позиционные параметры по их номеру, типа: "bad value %2!d! 0x%2!x! in variable '%1!s!'"
Кстати, в Питоне есть форматирование как вам хочется, с указанием значения по имени. Имя там не имя переменной, а ключ в хэше (dictionary), который передается как аргумент.
no subject
Date: 2014-07-02 16:37 (UTC)no subject
Date: 2014-07-02 17:04 (UTC)no subject
Date: 2014-07-02 17:07 (UTC)no subject
Date: 2014-07-02 17:22 (UTC)Увы, нет. Но там, где форматирование не нужно, оно удобнее. По-хорошему, неплохо было бы добавить что-то вроде %.1$VARIABLE или $.1%VARIABLE.
Но, я боюсь, в C++ такое не добавить - вылезли бы какие-нибудь грабли или проблемы совместимости.
no subject
Date: 2014-07-02 17:32 (UTC)Кстати, в Питоне есть форматирование как вам хочется, с указанием значения по имени. Имя там не имя переменной, а ключ в хэше (dictionary), который передается как аргумент.
no subject
Date: 2014-07-02 17:39 (UTC)Мне оно за редчайшим исключением не нужно.