Micktu 😬
но у меня тут вложенный цикл с двумя словармяи
Micktu 😬
и еще третий словарь
Micktu 😬
и это кхем уже немного сложно
Micktu 😬
между string::assign и оператором = есть разница для одного аргумента?
Micktu 😬
я подозреваю, что нет, так же как += и string::append практически идентичны
Micktu 😬
но все авно интеерсно
Nyah
assign универсальнее (больше пунктов на cppref)
но для одного аргумента, похоже, разницы нет
Alexander
если исходникик открыть, то operator = вызывает assign
Micktu 😬
это можно написать на пачке сигарет
Micktu 😬
еще это, тупенький совсем овпрос чтобы быстро не гуглить
Micktu 😬
std::map гарантирует что записи в порядке добавления?
Vladislav
нет, не гарантирует
Alexander
нет
Vladislav
более того, они в порядке ключей отсортированы
Micktu 😬
хорошо, какой контейнер гарантирует?
Vladislav
vector
Micktu 😬
а среди словарей?
Micktu 😬
unordered насколько я помню несортированный, вообще в произвольном порядке
Micktu 😬
окей, погуглил, HNKAK без буста
Anonymous
в принципе из словарей ничего не гарантирует
Micktu 😬
только вектор в руки
Anonymous
из std
Anonymous
ибо так работают они
Anonymous
либо хештаблица, либо древо
mefest
Micktu 😬
ну array вообще просто обертка вокруг указателя
Anonymous
первое с произвольным порядком, второе упорядочено по ключу
Micktu 😬
в чистейшем виде
Micktu 😬
хорошо, воспользуюсь векторами, спасяп
Micktu 😬
и извините за поверхностные вопросы.
Micktu 😬
но это так удобно когда можно узнавать мнения живых людей
Alexander
ага)
Micktu 😬
Micktu 😬
самые непонятные простейшие 6 строчек в моей жизни
Micktu 😬
просплюсь и перепишу
Micktu 😬
я полчаса наверное сидел на этими шестью строчками не понимая чего мне надо от жизни :))
Nikolai
можно еще тернарные операторы заюзать
Micktu 😬
нет, там был тернарный пока я не понял что мне не нужен еще один словарь
Micktu 😬
поэтому к счастю обошлось без
Nikita
Micktu 😬
каша из словарей
Micktu 😬
еще и конверсии кодировки понадобились... и словари не нужны, нужна всего пара векторов...
Micktu 😬
короче ВСЕ ГОВНО РЕФАКТОРИТЬ
Micktu 😬
РЕФАКТОРИТЬ
Andrei
@micktu Можно нескромный вопрос? Ты вообще трудоустроен?
Andrei
Весь день в чате вбрасываешь вопросы.
Micktu 😬
да, я фрилансер, и трудоустроен сейчас
Micktu 😬
просто выделил время на возню с с++ отдельно, не повредит
Micktu 😬
если это намек на то что надо меньше пиздеть - не вопрос
Micktu 😬
только тогда здесь будет стоять гробовая тишина
Micktu 😬
(может и к лучшему, дело вкуса)
Andrei
Не, просто вопросы чуть-чуть неформат, хотя я уже сколько тут сижу, до сих пор не понимаю, что формат, а что нет.
Micktu 😬
а какого рода вопросы формат? глубокие философские про будущее STL?
Micktu 😬
(не ирония)
Micktu 😬
лан, мне наверное просто хочется об этом поговорить с кем-то, чтобы возиться с плюсами было веселее. стаковерфлоу и мануал, в принципе, достаточны
Micktu 😬
правда, разьяснения про мув и рво были крайне полезными
Albert
Какие есть подводные камни при использовании = default для конструкторов/деструкторов? Не берем в расчет особые типы данных и сложную логику.
Micktu 😬
по моему скромному опыту, это или компилится или нет
Micktu 😬
скорее исключением будет являться delete
Micktu 😬
для сокрытия конструктора
Albert
просто у меня на этапе линковки ошибки вылазят. недавно использовал и вроде норм было.
Denis
https://groups.google.com/forum/#!topic/comp.lang.c++/1R1igvCYs8o
вот тут вначале есть письмо мейерса про дефолтный мув
не знаю насколько приближено к реальности
Micktu 😬
Micktu 😬
это означает что конструктор не сгенерился. молча.
Micktu 😬
это в свою очередь означает, что у тебя некопируемый или непереносимый тип в полях
Micktu 😬
если он не сгенерился имплиситли без специальной квалификации, и если он так же точно не генерится с default - ищи проблему выше
Micktu 😬
что-то не копируется
Micktu 😬
я сам откроенно не понимаю, почему это не ошибка, как минимум в VS CL, почему компилятор молчит
Surreal
Они не всегда генерируются.
Albert
ок, понятно. вручную описал обычным присвоением и вроде работает
Surreal
Они не всегда генерируются.
If no user-declared constructors of any kind are provided for a class type (struct, class, or union), the compiler will always declare a default constructor as an inline public member of its class.
If some user-declared constructors are present, the user may still force the automatic generation of a default constructor by the compiler that would be implicitly-declared otherwise with the keyword default.
Micktu 😬
всегда, тут написано
Micktu 😬
не генерируются только если есть пользовательские оверрайды
Surreal
Это только вершина айсберга.
Micktu 😬
да, но в любом случаее, без философии, у меня на практике проблема была в некопируемом поле
Micktu 😬
этим полем был альберт энш... std::fstream
Surreal
В плане инклуда в хедере библиотеки хедеров stl?
Surreal
Это только вершина айсберга.
http://stackoverflow.com/questions/4819936/why-no-default-move-assignment-move-constructor
Это про мув. Еще там, кажется, специальные правила были, если среди членов класса есть ссылки\константы.
Nikita
как линковать собираешься?
Surreal
Если часть внешнего интерфейса, то вполне можно инклудить, если нет, то желательно в реализации скрыть.