@ProCxx

Страница 2407 из 2477
Aidar
04.10.2018
22:24:33
Это просто рекурсивный обход списка типов

Nikita
04.10.2018
22:26:16
Ну, кажется в голове картинка сложилась

Осталось начать писать и сломаться об чё нить

Google
Constantine
04.10.2018
22:28:40
обычно просто известно что вызов & или &&

Aidar
04.10.2018
22:29:12
Constantine
04.10.2018
22:29:51
Не бывает неизвестно
Это жи колл конвеншн

Еще скажи аргументы неизвестны

Aidar
04.10.2018
22:30:20
Я и сказал не бывает

Constantine
04.10.2018
22:31:16
А ок я думал там запятая

Alex Фэils?︙
04.10.2018
22:39:38
а поподробней?)
да просто фабрики, которые специфицируются типом производного класса, однако, без его реализации

Dartware
04.10.2018
22:42:57
Привет всем, книжку по unit-тестированию на плюсах не посоветуете?

Nikita
04.10.2018
22:50:37
А почему в стандарт приняли func в том виде, в каком приняли? Во-первых, содержимое не очень информативное, к тому же ещё и как массив сделали - чтоб склеить со строковым литералом, приходится память аллоцировать. _PRETTY_FUNCTION_, например, в этих отношениях куда удачней штуковина

ой

там нижние подчёркивания пропали вокруг func

Google
Nikita
04.10.2018
23:08:02
Это просто рекурсивный обход списка типов
Кек, реализовать то реализовал, только понял, что мне такое не нужно, ибо я в компайл тайме не для всех создаваемых объектов знаю параметры конструктора

Alexander
05.10.2018
04:38:41
http://0x80.pl/notesen/2018-10-03-simd-index-of-min.html

Vladislav
05.10.2018
04:39:52
http://0x80.pl/notesen/2018-10-03-simd-index-of-min.html
вот такое байтоебство я люблю

Alexander
05.10.2018
04:41:40
вот такое байтоебство я люблю
да, тут это полезно было. Хотя сам я не очень умею писать руками всякие SSE

но тут реально виден профит. И я надеюсь, что он завёл баги в компилятор. А хотя чего гадать - лучше просто спросить

Ilia
05.10.2018
04:50:27
По работу в личку @AlexFails шли, он публикует в read only канал

Как в с++ наименее костыльно проверять на то, что есть у шаблона
Во первых, концепты. (Которых нет) Во вторых, это вообще не нужно. Не надо так строить программу, чтобы ей нужно было это проверять. Если нужно, надо строить полиморфные структуры данных, а не классы использовать.

Denis
05.10.2018
04:57:18
чот да

Alexander
05.10.2018
04:57:21
не слушайте вредные советы от Ильи

Denis
05.10.2018
04:57:31
наоборот же - чем больше на компил тайме, тем меньше проблем в рантайме

Alexander
05.10.2018
04:57:40
Если надо, что SFINAE на enable_if или концепты (скоро будут)

Ilia
05.10.2018
05:00:07
Привет всем, книжку по unit-тестированию на плюсах не посоветуете?
Зачем там книжки? Взял фреймворк, взял по нему tutorial, написал. Все. Фреймворков всего четыре популярных. GTest, boost и catch. Плюс старинный cppunit. Самый простой.

Google
Ilia
05.10.2018
05:04:51
сильное заявление, что это не надо
Ну если он рассматривает класс как массив переменных разных типов, то это не хороший подход. Лучше сразу так и сделать, вектор вариантных структур написать ...

Код на пасту. Картинки нельзя

kosbar
05.10.2018
06:00:21
https://image.ibb.co/m4KRde/2.png

влом перебивать пример из книги)

мне не понятно наличие двойного амперсанда

это пример цикла for c итератором

Ilia
05.10.2018
06:00:57
мне не понятно наличие двойного амперсанда
Это ссылка. С автоопределяемым типом

kosbar
05.10.2018
06:01:16
я понимаю, но это ссылка на ссылку...

псевдоним на псевдоним какой-то. зачем?

Ilia
05.10.2018
06:02:22
я понимаю, но это ссылка на ссылку...
Ссылки на ссылка не бывает. Это универсальная ссылка или forwarding reference

kosbar
05.10.2018
06:03:13
:)) это из книги по STL по 17ому))

kosbar
05.10.2018
06:05:30
просто я думал что && это rvalue ccылка, т.е. в этом примере делают rvalue ссылку, чтобы не ставить амперсанд при передаче в метод далее по коду?

Ilia
05.10.2018
06:06:02
Напишите ещё кто с чата знает Дельфи, а я тут же забаню :)

Admin
ERROR: S client not available

kosbar
05.10.2018
06:06:56
а с целью я угадал?

kosbar
05.10.2018
06:07:38
обож

Google
Ilia
05.10.2018
06:10:38
а с целью я угадал?
Цель тут такая, чтобы не писать этот метод два раза, для константной ссылки и не константной. И.е. тут универсальная ссылка обеспечивает полное форвардирование параметра

Хотя могу ошибаться

Andrew
05.10.2018
06:18:33
Если не нужно чтобы было переносимо, то берешь файл, мамишь в память и делаешь memcpy
Не надо так делать. Обычно в структуры добавляется padding, который при таком подходе читается, ну и пишется тоже. Я не помню, насколько это UB, но санитайзеры на этом месте срабатывают.

Andrew
05.10.2018
06:24:59
Это не UB
Все таки UB, эта память тобой не инициализируется, а ты ее читаешь, это же UB.

Vladislav
05.10.2018
06:27:01
Это не UB
UB, если структуры не POD

Ilia
05.10.2018
06:35:38
Все таки UB, эта память тобой не инициализируется, а ты ее читаешь, это же UB.
UB такая сложная штука, что иногда сказать что это UB - это тоже UB

Andrew
05.10.2018
06:38:14
UB, если структуры не POD
И даже с POD, потому что вы работаете с неинициализированной памятью.

Vladislav
05.10.2018
06:38:41
ты вызываешь системную функцию (mmap), она тебе возвращает указатель

Andrew
05.10.2018
06:39:23
Ну я выше уже описал все, вроде.

Vladislav
05.10.2018
06:39:32
почему?
почему данные по нему - не инициализированы?

Andrew
05.10.2018
06:40:16
почему данные по нему - не инициализированы?
А ты пишешь в padding? Это место, которое компилятор вставляет между полями структуры для выравнивания.

Vladislav
05.10.2018
06:40:55
причем тут это?

в стандарте явно прописано что memcpy для POD типов - не UB

Andrew
05.10.2018
06:42:45
Любопытно. Видимо, в это случае разрешен доступ к неинициализированной памяти.

Ну кстати можно и записать 0 memset
Тогда уж можно вообще со всем работать через memset и memcpy, да и на C писать. Забивать ненужную память нулями, чтобы можно было не писать нормальный reader/writer -- путь к победе.

Кстати, padding в этом случае еще и лишнее место занимать в файле будет.

Страница 2407 из 2477