Matwey
Тебе ж показали ответ
Нет, не показали
Dr. Friedrich
Нет, не показали
https://stackoverflow.com/questions/10465805/how-can-i-use-the-skipper-asciispace-without-skipping-eol/10469726#10469726 не сработало чтоли?
Matwey
Значит я пропусти, сори
Dr. Friedrich
Ой, не. https://stackoverflow.com/questions/2429485/how-do-i-parse-end-of-line-with-boostspiritqi/2430406#2430406
ovf
там же человеческим языком написано, кто виноват и что делать
Dr. Friedrich
Да.
Ender
Я пошёл варить мясо дальше.
Matwey
Далеко не уходи
Matwey
Сейчас будет вторая часть плача Ярославны
Ender
Лол
Ender
не плачь Ярославна, все лягухи будут твои.
Ender
Ты чё пишешь-то?
Matwey
Да парсер я пишу
Dr. Friedrich
Парсер астрономической фигни?
Ender
видимо
Matwey
Который бы мне из потока вынимал команды разделенные переводом строки
ovf
что-то мне подсказывает, что комбинаторы парсеров для такого не обязательны
Ender
Кто вжуха удалил, тот плохой человек, он мне сейчас был нужен вот здесь. https://gist.github.com/EnderEyre/ce33cde7be5c0df332438cb9118ec7af
Dr. Friedrich
Кто вжуха удалил, тот плохой человек, он мне сейчас был нужен вот здесь. https://gist.github.com/EnderEyre/ce33cde7be5c0df332438cb9118ec7af
https://gist.github.com/EnderEyre/ce33cde7be5c0df332438cb9118ec7af#file-gistfile1-txt-L1259-L1267 у тебя отступы поехали.
Ender
сука ._.
Ender
ну бывает, мяу.
Ender
@fvnever Я попытался немного пофиксить, но у меня плохо получилось.
Александр
Вопрос до сих пор очень актуален, на всякий случай дублирую
Александр
Господа, серьезный вопрос. Нормально объяснить могу только упрощенным кодом: Работает: https://godbolt.org/g/aK95sk Не работает (добавили namespace): https://godbolt.org/g/9BM9pm Вопрос: wat? Реальный кейс: namespace serialization, в который можно добавлять реализацию сериализации для user-defined классов.
Александр
возможн что-то связанное с argument-dependent lookup у тебя там не сработало
Так там аргументы без неймспейса. Я тоже грешу на lookup
Stanislav
Так там аргументы без неймспейса. Я тоже грешу на lookup
если объявление класса B и функцию поднять выше has_do_it_v то все ок
Александр
если объявление класса B и функцию поднять выше has_do_it_v то все ок
Это меня не устраивает, потому что B объявлен юзером, а has_do_it_v - в библиотеке. К тому же, это не отменяет вопроса "почему namespace всё сломал?"
Andy
/help@FailsBot
Stanislav
Это меня не устраивает, потому что B объявлен юзером, а has_do_it_v - в библиотеке. К тому же, это не отменяет вопроса "почему namespace всё сломал?"
ага, а еще вот тебе косяк, если опустить A ниже, то template<class T> using try_do_it = decltype(foo::do_it(std::declval<T>())); сломается
Александр
ага, а еще вот тебе косяк, если опустить A ниже, то template<class T> using try_do_it = decltype(foo::do_it(std::declval<T>())); сломается
Тут другое дело. На самом деле вместо А там SFINAE по фундаментальным типам, например. Короче некий фундамент, который по умолчанию поддерживается
Anton
Дело такое
Anton
У меня учитель по основам программирования называет переменные буквами, это правильно?
Matwey
@supapro
Anton
int j,i,k; И тд
Matwey
А как их еще называть?
Anton
Например name, dateb и тд
Berkus
кто такой dateb
Matwey
датёб
Anton
Да я рандомно написал)
Evgenii
Да я рандомно написал)
ну и он тоже🤷‍♂
Anton
В них должен быть какой то смысл?) у нас задачи пошли в которых легко запутаться
Matwey
Это вы исходники nginx не читали :) Там половина переменных однобуквенная. И только суровые разработчики понимают, что c это например connection, а r это request.
Matwey
Главное чтобы смысл был ясен, а сколько буков в переменной не так важно.
Matwey
> И только суровые разработчики с прокачанной телепатией (ну или libastral свежий стоит)
Так нет, разработчики nginx, насколько я понял, просто запомнили это. Если у тебя по всей программе переменная типа struct connection называется c, то так даже удобнее.
Vladislav
криптонейминг - норм
Alexander
бля прочитал как криптомайнинг)
Alexander
В них должен быть какой то смысл?) у нас задачи пошли в которых легко запутаться
если дизайн хороший, не сильно важно полное наименование переменных, а если скоуп функций/типов перегружен - отсюда все костыли типа camel case для именования семантически перегруженных переменных, в которых без такого наименования вообще разобраться невозможно
Matwey
криптонейминг - норм
Ну криптонейминг, это скорее если переменные названы случайным образом, да потом еще и переиспользуются. Как говорит один мой знакомый писатель кода для микроконтроллеров: ну ты завел переменную типа int, не выкидывай её, попользуйся еще раз.
Alexander
ну паттерн и место на стеке слабо вроде коррелируют. кто мешает сделать что то типа T* next() и и юзать в коде?
Vladislav
Ну какой паттерн, если у тебя место на стеке ограничено?
а компилятор не умеет сам переиспользовать?
Alexander
а next() уже знает какой следующий адрес для твоего T
Matwey
а компилятор не умеет сам переиспользовать?
Честно говоря не задумывался. Микроконтроллер программировал один раз в жизни.
ovf
в любом современном регистеризаторе в регистры/стек отображаются live values, а не переменные
Vladislav
ну вот
Alexander
в любом современном регистеризаторе в регистры/стек отображаются live values, а не переменные
да тут вроде бы про другое, тут о том, что один раз аллоцируешь какой-нить int на стеке и юзаешь его несколько раз, чтобы сэкономить за аллокаицях
ovf
тут как раз про то, что непросто будет найти компилятор си, в котором написанием слов типа "int" можно управлять выделением места на стеке
Alexander
кароче экономия на спичках, если речь о встроеных типах, а если какие-то там большие структуры, то я бы лучше задумался какого рожна большие тяжелые структуры и сделал бы рефакторинг)
ovf
а возвращаясь к вопросу про однобуквенные идентификаторы -- они рулят, если используются систематически
ovf
26 сущностей как раз нормально лезут в голову
Alexander
а возвращаясь к вопросу про однобуквенные идентификаторы -- они рулят, если используются систематически
угу, а если скоуп функций перегружен то уже никакие идентификаторы не помогут) я сам часто пишу 1-3 символа и много маленьких узкоспециализированных функций
ovf
работал и работаю
Vladislav
ovf
а что так? :-)
Vladislav
коллегам)
ovf
а что с ними? есть стандарт оформления кода, с ним все согласны. а что там может быть что-то не-yoba -- ну так на вкус и успех компании разные
Anonymous
В C++ есть реализация сечения массивов, как в Фортране?
Aidar
В C++ есть реализация сечения массивов, как в Фортране?
Есть valarray и там кажется есть но хз как в фортране
Aidar
/cppref std::slice
Anonymous
Ну типа можно перескакивать с одного элемента массива на другой. В некоторых случаях даже можно по циклу не прогонять, то есть строчек меньше