Size: a a a

2021 March 16

KO

Konstantin Osipov in pro.cxx
Aidar Fattakhov
серверы создаются в 10к рпс?
там внутри сидит мутекс, мутекс не мувабельный.
источник

AF

Aidar Fattakhov in pro.cxx
из любого немувабельного типа можно сделать мувабельный с помощью аллокации
источник

AF

Aidar Fattakhov in pro.cxx
в данном случае наверное одной(массив в куче)
источник

KO

Konstantin Osipov in pro.cxx
всё так. но смысл упражнения теряется. проблема в том, что есть очень большой unit test plan - больше 150 тестов. Каждый тест сейчас 30-40 строк С++. Хочется максимально упростить поддержку unit test в будущем, при старении кода, который он тестирует. Для этого наиболее частые конструкции я пытаюсь завернуть в хелперы. Но тут телега не должна впереди лошади идти, хелперы не должны быть сложнее того, что они призваны упростить.
источник

NP

Nikita Provotorov in pro.cxx
а для параметров функции copy elision все ещё не гарантирован?
источник

AF

Aidar Fattakhov in pro.cxx
Nikita Provotorov
а для параметров функции copy elision все ещё не гарантирован?
а дальше че делать с ними?
источник

NP

Nikita Provotorov in pro.cxx
Aidar Fattakhov
а дальше че делать с ними?
я сначала хотел предложить return proxy({...}); а потом понял что бессмысленно))
источник

AF

Aidar Fattakhov in pro.cxx
так это то же самое что вернуть массив в куче
источник

AF

Aidar Fattakhov in pro.cxx
>хелперы не должны быть сложнее того, что они призваны упростить.
это какойто странный посыл
источник

AF

Aidar Fattakhov in pro.cxx
обобщенный код всегда сложнее копипасты
источник

NP

Nikita Provotorov in pro.cxx
Aidar Fattakhov
так это то же самое что вернуть массив в куче
что? почему? там в фигурных скобках имелась в виду инициализация массива, но вопрошающему все таки нужен именованный объект, так что это не пойдет
источник

AS

Anatoly Shirokov in pro.cxx
Konstantin Osipov
всё равно не выходит у данилы каменный цветок. На этот раз в том что я не могу добиться mandatory copy elision. Я возвращаю std::array<Server, N>, но мне перед возвратом необходимо этот массив обработать. Сооветственно если я делаю return std::array, всё работает. Если я декларирую std::array не стэке, а затем его возвращаю, компилятор требует наличия в Server move/copy  constructor . Есть какие-то хаки чтобы mandatory copy elision работала но при этом перед возвратом объект можно было как-то обработать?
Создать копию std::array с поэлементным мувом, вроде, все для этого есть
источник

NP

Nikita Provotorov in pro.cxx
Anatoly Shirokov
Создать копию std::array с поэлементным мувом, вроде, все для этого есть
все, кроме мувабельных элементов)
источник

IS

I S in pro.cxx
Разве что билдер для элементов сделать и конкретику строить в самом конце после модификаций, но вряд ли перфоманс не пострадает
источник

N

Neargye in pro.cxx
Konstantin Osipov
всё равно не выходит у данилы каменный цветок. На этот раз в том что я не могу добиться mandatory copy elision. Я возвращаю std::array<Server, N>, но мне перед возвратом необходимо этот массив обработать. Сооветственно если я делаю return std::array, всё работает. Если я декларирую std::array не стэке, а затем его возвращаю, компилятор требует наличия в Server move/copy  constructor . Есть какие-то хаки чтобы mandatory copy elision работала но при этом перед возвратом объект можно было как-то обработать?
Всегда можно создать массив а потом принимать его по ссылке

auto m = create();
test1(m);
test2(m);
источник
2021 March 17

IZ

Ilia Zviagin in pro.cxx
/s@SupaproBot
источник

S

SupaproBot in pro.cxx
@pdddbbbq Ваш вопрос перемещён в чат @supapro . Там Вам с радостью помогут с Вашей проблемой :)
источник

K

Kleenex in pro.cxx
Не стоит, рассматривать типичные глупые ошибки начинающего) всем добра)
источник

O

Ofee in pro.cxx
Kleenex
Не стоит, рассматривать типичные глупые ошибки начинающего) всем добра)
Лучше всё же вступить в чат, раз уж вопросу там уже уделили внимание)
источник

IZ

Ilia Zviagin in pro.cxx
Вот кстати книга
источник