Danil
Danil
Нет же
Danil
Для хелловордов наверное только
Constantine
using alias_type = std::unique_ptr<int>;
void f(std::vector<alias_type> v) {
auto x = std::move(v[0]); //какой тип для x покажет CLion?
}
Deleted Account
Deleted Account
пока так, потом чо нить ещё приделаю
Constantine
C++ не хватает, очевидно
Deleted Account
Constantine
во всех версиях
Deleted Account
но погружение в него конешно адское
Constantine
ну ок, тогда C++98, C++03, C++11, C++14, C++17 и C++20
Berkus
Constantine
просто сейчас нечего отвечать на вопрос как в С++14 перевести число uintmax_t в std::wstring под гарантированной С локалью
Deleted Account
Constantine
ну там должно быть DIVE INTO C++14
Deleted Account
Constantine
🤔
ну первая идея - запринтфить, только в ISO C++ размер буфера надо угадывать
Constantine
ты пишешь такой в качестве размера буфера std::numeric_limits<uintmax_t>::max_digits10 + 2
Deleted Account
Constantine
потом открываешь мануал
Constantine
исправляешь на std::numeric_limits<uintmax_t>::digits10 + 2
Berkus
в сиране андроид ндк нету <codecvt> ((((
Constantine
чинишь свою ногу и исправляешь на +3
🐙 Antony
дизлайк тебе!
Крылатый
Anatoly
- Балебес он!
- А вы скажите ему об этом, раскройте ему глаза!
🐙 Antony
Ну дык их мало... не целый же коллектор!
Deleted Account
🤔
🐙 Antony
предлагаю его просто убрать
Deleted Account
ну надо зделать там спец погружатора подготовленого
Deleted Account
куданить типа в колектор ныряет а там космос
Deleted Account
😬 ты уверен? что это пахоже на буст?
Deleted Account
лан с дома перерисую
Deleted Account
и железный крест зашитников схх тож
Ioann_
Ребят, глупый вопрос, но все же спрошу именно здесь, и извиняюсь за оффтопик:
Если вы болеете 'жестким' гриппом, то сколько времени лечитесь ? А то я уж два дня, а все никак :(
Danil
Deleted Account
Nikolay
Ник отличный
Nik
Спасибо
Constantine
Я бы на вашем месте уже скачивал ICU
Anonymous
libiconv или libicu в помощь.
Constantine
Потому что дальше, очевидно, вы заинтересуетесь вопросами визуального ремаппинга
Constantine
И не дай бог еще нужна нормализация в юникоде
Constantine
теоретически - можете
Constantine
практически у меня есть контрпример, когда буфера из WideCharToMultiByteGetLength недостаточно для WideCharToMultiByte
Constantine
вы понимаете, что используете функцию, которая содержит известные дефекты на всех версиях ОС?
Constantine
в STD половина codecvt была deprecated
Constantine
я уверен, что на практике он просто не работает
Berkus
Berkus
Constantine
например, меня очень интересует, что будет, если этому модулю дать неправильные суррогаты при переводе из UTF16 в UTF8
Berkus
imbue(locale) тебе должно помоч
Berkus
Berkus
насколько я знаю этот конкретный codecvt просто перегоняет коде пойнты из одного представления в другое, без обработки
Constantine
т.е. принципиально перекодировку в произвольную локаль с достаточным управлением (не уровня "как обычно выводят в консоль") в стандарт вряд ли принесут, если не принесут специфическую библиотеку целиком
Berkus
не принесут
Berkus
кодировок много а стандарт не резиновый
Constantine
угу
Berkus
есть уже стандарт unicode он пусть и бодается со всей этой фигней
Anonymous
К тому же есть нормальные либы для работы с кодировками.
Anonymous
И вообще, однобайтовые кодировки в 2017 году явно не нужны.
Berkus
ну если есть utf8 и utf16 остальные точно не нужны
Constantine
то есть все вопросы типа lower/upper и перекодировок не относятся к STD тупо
Berkus
йеп
Constantine
Можно выводить в винде непереносимо в консоль юникодом
Berkus
возможные фиксы
1. не пользоваться wcout
2. не пользоваться виндой
3. прочитать всё что выше айдар писал про переключение консоли в нужную кодировку
Constantine
там выше была тема
Berkus
где-то дней на 5 выше
Constantine
и нужно использовать MSC-специфическую функцию, тогда можно просто выводить UTF16 в консоль
Constantine
https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/setmode
Constantine
никакого другого способа вывести или настроить перекодировку в винде нет
Constantine
а про что
Constantine
ну хорошо, замените консоль на stdout в моих последних репликах, если хотите
Constantine
потому что приложению плевать, что там, консоль или не консоль в stdout
Constantine
оно все равно по умолчанию сделает WriteFile как A
Constantine
и перекодировкой будет заниматься
Constantine
и никакие методы стандарта не заставят его вести перекодировку по-другому, найдите просто реализацию этого места в CRT в MSC