metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-01-22 10:36 pm

atof, strtod и локаль.

Внезапно: а вот как положено в коде на С конвертить строку в double, если мы точно знаем, что в строке десятичный разделитель ".", и точно знаем, что код будут запускать на системе с адовыми локалями, у которых разделитель "," типа русской, белорусской итд? В дотнете, как положено, есть функция с параметром для локали и инвариантная локаль InvariantCulture. А в олдскульно-кошерном C как? setlocale(LC_NUMERIC,"C"); чо-то не рекомендуют, говорят, не thread-safe.

[identity profile] thedeemon.livejournal.com 2012-01-23 07:50 am (UTC)(link)
Говорят, синглтон - это паттерн, который можно реализовать по-разному. И в зависимости от способа реализации он будет инициализирован и деинициализирован в разное время. Ну и просто если говорить про обычные статические переменные, с их порядком инициализации все не очень очевидно, и для решения проблем многопоточности это странный выбор. Хотя в Си с этим все же попроще, чем в С++.

[identity profile] gineer.livejournal.com 2012-01-23 03:52 pm (UTC)(link)
Синглетон -- это умное слово которое используют гавнокодеры,
когда им нужно объявить глобальную переменную,
а ведь "все знают" что использовать глобальные переменные это "фу-кака-гавнокод" :)))))))))))))))))

Особенно продвинутые гавнокодеры,
используют для этого библиотечную реализацию синглетона. :))))