2 Lipatov
>>Друг мой, если Вы не знакомы с Cи, то нечего показывать Ваше невежество, к тому же в такой мелкой форме!
Интересно в чем выражается невежество? в ошибке в примере _ecvt? Это не принципиально ,показывется что такая элементарная операция требует создания многих объектов которые в принципе временные и строчек кода когда объекты в принципе должны быть временными на самом деле т.к. добычно в программе далее нигде не используются. здесь рассмаривается вопрос о создании временных обьектов,проектировании ф-ий пеобразований использование для этого исключений.
Что требуется от ф-ии то и она должна фозвращать, в случае ошибки вызывать исключение -получается более структурированный и логически правильный код, а не создавать для каждой ф-ии временный обьект и проверять возвращаемое значение — как правило в реальных программах его проверяют через раз на наличие ошибок в ф-ии.
насколько я зная ф-ии c run-time atoi itoa strtod и т.п никогда не генерируют исключений
>>Подумайте на досуге, откуда берется строка, возвращаемая XxxToStr(), и куда она потом девается.
>>Если поймете, то Вам сразу многое станет ясно...
>>(Подсказка: строка — это буфер в куче)
Интересно а CString из MFC откуда берется...
строка возвращаемая XxxToStr() ВРЕМЕННЫЙ безымянный объект каторый является возвращаемым значение функции
и естественно что он потом удаляется после выполнения ф-ии для которой строка возвращаемая XxxToStr() была аргументом.
а в си++ не так??
допустим ф-я CString somefunc(); не будет вести себя подобным образом??
>>Вот уж не знал, что в C++ нельзя использовать atoi и strtod!
Вот уж не знал что atoi и strtod работают со классами строк MFC CString или std::string!
ps пишу не в ветке т.к почемуто не нету соотв иконки в форуме
А>в знакомых мне библиотеках: MFC,STL..
А>во ВСЕХ классах со строками нет таких преобразований!
А>в MFC CSting есть функция с неопрделенныч числом параметров format -зачем делать разбор строки формата и неявные преобразования т.к ф-я с неопределенным числом параметров?
Даже обсуждать не буду.
Почему?