Kirill
Хотели они через специализацию, но чтобы догадаться как хотел собеседующий, нужно было под часа решать задачу разными способами пока не угадаешь
Kirill
Aleksei
Вчера про const говорили. Мне кажется, это хороший вопрос. Много нюансов. Не обязательно рассказывать все, главное чтобы кандидат вообще его использовал. А то бывает, что const вообще нигде не пишут.
Kirill
Плюс там же главное объяснить, почему вот так сделано плохо, а не сказать что говно, я бы сделал по другому)
Kirill
Kirill
Всмысле битовая и логическая
Aleksei
Aleksei
Так я бы сам не ответил :)
Kirill
Ну конст метод может менять бытовое представление класса, но не менять его логически.
Тоесть есть например класс который содержит данные и свое приватное поле для каких то промежуточных расчетов, чтобы в стеке его не дергать. данные мы не поменяли, а после вызова какого то метода поле типа temp поменялось, и вроде класс тот же. А побитово нет
Kirill
Вот из этого и вылезает правильно ли кандидат использует конст мьютабл или нет
Nikita
Да даже в банальном вопросе: есть вектор из 100 даблов, найдите сумму — можно закопаться. Учитывая, что сумма не ассоциативна, и результат будет плавать от порядка суммирования и кучи других факторов, а от её результата может много другого зависеть (тесселяция, например), есть что обсуждать.
Anatoly
Сломать с дуру многое под силу
Anatoly
Смотрел доклад по так называемому мета программированию. Отличный способ взорвать мозг у соискателя
Kirill
В итоге оно конечно никогда практически не пригодится, но это галочка, типо ты в этом разбирался, ты из наших)
Anatoly
После чего все обнимаются
Anatoly
😂
Kirill
И танцуют)
Nikita
Evgenii
Anatoly
Конечно, доклад можно скинуть
Anatoly
На трубе был
Anatoly
По всей теме. Слишком узкое направление
Anatoly
На мой скромный взгляд конечно
Evgenii
Ну один конкретный вопрос можно?)
Anatoly
Да нет же, я совершенно не понимаю в этом.
Алдар
Ну один конкретный вопрос можно?)
#include <utility>
#include <type_traits>
template<class, class = void>
struct has_method_foo : std::false_type
{};
template<class T>
struct has_method_foo<T, std::void_t<decltype(std::declval<T>().foo())>> : std::is_same<decltype(std::declval<T>().foo()), int>::type { };
что делает и как работает?
Evgenii
Алдар
да, но это и так понятно))
Алдар
точнее метод foo
Evgenii
Evgenii
да, но это и так понятно))
Если метода нет вообще, специализируется первая структура по SFINAE, если есть, то из сейм проверяет инт или нет
Vyacheslav
Предполагаю, что Анатолий говорил про этот доклад https://www.youtube.com/watch?v=MbbOsKMA3rk
про рефлексию в C++14
babysitter
Vyacheslav
возможно )
Evgenii
Anonymous
драсте)
Anatoly
Dmitriy / დიმიტრი
Привет, а могу я создать шаблон который будет выглядеть вот так:
lock_space(object_mutex)
{
bool data = Obj.GetData();
calculate(data);
}а на этапе компиляции преобразовываться в вот это:
{
std::lock_guard<std::mutex> lock(object_mutex);
bool data = Obj.GetData();
calculate(data);
}
Dmitriy / დიმიტრი
Как-нибудь можно фигурные скобки и всё что внутри шаблону передать в аргументах?
Deleted Account
Deleted Account
define std::lock_guard<std::mutex> lock lock_space
Deleted Account
как нить
Evgenii
Deleted Account
Dmitriy / დიმიტრი
Всеравно непонятно как строки внутри передать.
Я просто хочу от такого избавиться:
// ...
object_mutex->lock();
Data data = Obj.GetData();
calculate(data);
object_mutex->unlock();
// ...
Evgenii
Deleted Account
Deleted Account
mefest
Deleted Account
{
object_mutex(mylock);
Data data = Obj.GetData();
calculate(data);
}
mefest
Deleted Account
прост незабывай скоупы делать
Deleted Account
Deleted Account
новомодный
Nikita
Deleted Account
там разрулить просто
Deleted Account
вынести обжэкт наружу
Deleted Account
ну это мелочи
Nikita
Deleted Account
Deleted Account
я вот чот даж не уверен
Anatoly
оптимизатор ничего не выбросит
Anatoly
12.2 ... Even when the creation of the temporary object is unevaluated (Clause 5)
or otherwise avoided (12.8), all the semantic restrictions shall be respected as if the temporary object had
been created and later destroyed.
Deleted Account
это хор
mefest
https://godbolt.org/g/yVKPKS
Aleksei
ну да
mefest
в данном случае guard низзя выкидывать
Aleksei
Я про это же
mefest
ой, извините, перепутал собеседников
Deleted Account
вот и збс
Deleted Account
пойду свой код перепишу