@ProCxx

Страница 1411 из 2477
Anatoly
16.10.2017
22:51:58
для uintmax_t 19 на моей машине

Constantine
16.10.2017
22:52:11
угу

а для int8_t это 2 :)

размер буфера с учетом '\0' будет digits10 + 2 для uintmax_t и + 3 для intmax_t

Google
Anatoly
16.10.2017
22:53:21
кстати, ты не знаешь почему std::numeric_limits<uintmax_t>:max_digits10 не определен для uintmax_t?

Constantine
16.10.2017
22:53:27
знаю

потому что max_digits10 это вообще не то

это что-то там про вещественные числа

а digits10 это (внимание!) максимальная длина такая, что число такой длины гарантированно представимо в типе

т.е. если тип [0; 255] то digits10 будет 2

потому что 300 длины 3 не представимо в типе

Anatoly
16.10.2017
22:57:50
ладно, все равно голова не работает, пошел спать

Ioann V
16.10.2017
23:40:08
ява будет быстрее работать, вот серьезно
А почему тебе руками не написать б ?

Constantine
16.10.2017
23:40:43
А почему тебе руками не написать б ?
Руками писать перевод числа в строку?

Ioann V
16.10.2017
23:40:54
Ну, а это сильно странно ?

Все таки не double

Constantine
16.10.2017
23:41:01
Вообще-то говоря да

Google
Constantine
16.10.2017
23:42:58
Как вы думаете, с какой частотой в коде встречается перевод строки в число и числа в строку?

Constantine
16.10.2017
23:43:39
В gui это постоянно
В gui другой вывод

там локаль-зависимость как раз

Anton
16.10.2017
23:44:50
В gui другой вывод
Хорошо. Чтение логов с датой и временем. Но да, тут тоже local-dep

Constantine
16.10.2017
23:45:18
да запись XML/JSON любого формата

любой вывод лога

Ioann V
16.10.2017
23:46:28
там локаль-зависимость как раз
А сишечка не могет в то что тебе нужно ?

Ioann V
16.10.2017
23:48:00
Я не утверждал как. Просто если у тебя int можно же пере.... но придется выделять память самому и так далее

Stanislav
16.10.2017
23:48:01
кстати в пропозале на to_chars встречается упоминание string_view я так и не понял че не сделали с ним

Ioann V
16.10.2017
23:48:59
Ну я про проблемы с размером и говорю.

Constantine
16.10.2017
23:49:02
std::numeric_limits<uintmax_t>::digits10() + 2 просто шикарно

Ioann V
16.10.2017
23:49:14
Но обычно не больше чем 32

Constantine
16.10.2017
23:49:28
:)

640K ought to be enough to everyone

int128_t не влезет в 32

Ioann V
16.10.2017
23:50:05
Ну в тех же строках она и так с запасом выделяется.

Constantine
16.10.2017
23:50:38
т.е. если платформа поддерживает int128_t, у меня buffer overrun на запись

Google
Ioann V
16.10.2017
23:50:48
int128_t не влезет в 32
А int128 стандартизирован ли ?

Constantine
16.10.2017
23:51:03
А int128 стандартизирован ли ?
что мешает в следующем стандарте его добавить?

Vladislav
16.10.2017
23:51:15
Constantine
16.10.2017
23:51:33
что мешает компилятору считать имеющийся __int128_t как intmax_t

Vladislav
16.10.2017
23:51:40
ноуп
а жаль

Constantine
16.10.2017
23:52:13
Обещают жеж wide int.
wide int это эмуляция, она не касается intmax_t

причем эмуляция через uintfast_t или как он там

Ioann V
16.10.2017
23:52:49
Я бы руками бахнул. Даже так - я и так руками бахнул. Делов то переводить стандартные типы, отличные от дабла.

Anton
16.10.2017
23:53:09
wide int это эмуляция, она не касается intmax_t
Ничего не мешает simd там вхерачить. Но это детали реализации уже.

Constantine
16.10.2017
23:53:26
угу

Ioann V
16.10.2017
23:53:49
В нулевых кстати, все на stl плевались

И знаешь что ????? Недовольные писали свой :)

Constantine
16.10.2017
23:54:35
Меня интересует не std::stack который реализован через vector

Меня интересует задача "перевести число в строку"

Напомню, такая встроенная функция была в Turbo Pascal

Полагаю, 30 лет назад была

Ioann V
16.10.2017
23:56:32
Сформулируй ее более четко, пожалуйста

Constantine
16.10.2017
23:56:46
Задача: перевести число типа uintmax_t в std::wstring локаль-независимым способом

Для целей записи в JSON, например

Google
Ioann V
16.10.2017
23:57:35
Окей, я посмотрю что с этим можно сделать, а вечером сегодня по Мск тебе напишу, что я нашел.

Constantine
16.10.2017
23:57:49
?

Ioann V
16.10.2017
23:58:10
А чо ржачного то, я уже сплю, считай

Constantine
16.10.2017
23:58:24
Ржачно, что этот вопрос вызывает замешательство в pro.cxx

В любом нормальном языке такой вопрос отправляется в ultramegapro

Stanislav
16.10.2017
23:58:50
И знаешь что ????? Недовольные писали свой :)
у некоторых до сих пор живой

https://github.com/electronicarts/EASTL

Ioann V
16.10.2017
23:58:54
Я уверен, с этим можно что то сделать. В моем случае замешательство более чем очевидно - я вообще не приспешник стандарта.(stl...)

Пока что могу посоветовать попробовать qt :))))))))

Constantine
16.10.2017
23:59:55
Ну через "я точно знаю, что результат лезет в std::numeric_limits<uintmax_t>::digits10() + 2" это реализуется адекватно

Через swprintf

Ioann V
17.10.2017
00:01:00
Ну это я так понимаю С ? А ты хочешь ц плац плац ?

Constantine
17.10.2017
00:01:23
Я хочу на С++

Если оно не будет использовать какое-либо подмножество С++, реализация меня все еще устраивает

Ioann V
17.10.2017
00:02:07
Гляну, конечно же. Мне просто самому даже интересно, что там.

Constantine
17.10.2017
00:02:38
Да, еще на M$ можно сделать через _snwprintf

Ioann V
17.10.2017
00:02:59
https://github.com/electronicarts/EASTL
Угу. Я тестировал его, когда тут еще cyberzx был, которого беркус увы прогнал

Да, еще на M$ можно сделать через _snwprintf
Ну это таже сишка, будем считать.

Constantine
17.10.2017
00:04:25
https://github.com/electronicarts/EASTL
как же они форматируют ифдефы в optional



Google
Stanislav
17.10.2017
00:06:34
классика, намешанные пробелы и табы

Constantine
17.10.2017
00:06:59


Ioann V
17.10.2017
00:09:41
Форматировано плохо - а может потому что у гитхаба чот полетело ?

Constantine
17.10.2017
00:10:14
Угу, а MAYBE_NOEXCEPT в NOEXCEPT это гитхаб MAYBE_ из кода удаляет

Ioann V
17.10.2017
00:11:10
Ну мне опшионал как то более читаемо

Stanislav
17.10.2017
00:11:59
саммое смешное если включены ексепшены то дефайн пустой

Ioann V
17.10.2017
00:12:00
Ну а так а суть, ты придрался к их коду, что он так ужасен ?

Constantine
17.10.2017
00:13:04
Ну а так а суть, ты придрался к их коду, что он так ужасен ?
Я бы за такое дал по рукам стажеру в write-only коде

Stanislav
17.10.2017
00:13:56
эх когда гитхаб научится рендерить хтмлки

Ioann V
17.10.2017
00:16:25
А, кстати я всек то что не так, понял - да. Тут есть такое, мне просто показалось что ты тупо на выравнивание и именования наезжаешь.

Тогда во втором дефайне типо лучше сделать вторую проверку ?

Constantine
17.10.2017
00:19:47
А, кстати я всек то что не так, понял - да. Тут есть такое, мне просто показалось что ты тупо на выравнивание и именования наезжаешь.
Ну если бы они optional реализовали криво настолько, что первый попавшийся челик ткнул их носом в ошибку, им бы надо было выбросить компьютер и купить велосипед

Constantine
17.10.2017
00:21:32
хотя если подумать

inline optional& operator=(const optional& other) { engaged = other.engaged; val = other.val; return *this; }

эх подозрительно

нет проверки engaged перед копированием val

Ioann V
17.10.2017
00:23:02
Проверки на саму себя то ?

Страница 1411 из 2477