
A.D.
16.07.2018
16:32:05

Max
16.07.2018
16:32:27

Ilia
16.07.2018
16:32:42

Google

Руслан
16.07.2018
16:33:33

Andrey
16.07.2018
16:34:34

Ignat
16.07.2018
16:35:00

Руслан
16.07.2018
16:35:15
Выше сказали, что не атомарный
А. Я понял
Т.е он атомик

Dmitry
16.07.2018
16:35:53
Может имелось в виду что доступ к нему не атомарный.

Руслан
16.07.2018
16:35:58
Но тк не в обьекте, а снаружи, то можно остаться без яичек
Да?

Stanislav
16.07.2018
16:36:22
в С++20 уже норм с этим

Google

Stanislav
16.07.2018
16:36:25
The partial template specialization of std::atomic for std::shared_ptr<T> allows users to manipulate shared_ptr objects atomically.

Dmitry
16.07.2018
16:36:56

Ignat
16.07.2018
16:37:00
её научились реализовывать не через глобальную хеш-таблицу локов?

Руслан
16.07.2018
16:38:06
Там глобальная хеш таблица?
Так атомик shared_ptr или нет оо
Шта там происходит

Stanislav
16.07.2018
16:38:59
Так атомик shared_ptr или нет оо
All atomic types except for std::atomic_flag may be implemented using mutexes or other locking operations, rather than using the lock-free atomic CPU instructions. Atomic types are also allowed to be sometimes lock-free, e.g. if only aligned memory accesses are naturally atomic on a given architecture, misaligned objects of the same type have to use locks.
The C++ standard recommends (but does not require) that lock-free atomic operations are also address-free, that is, suitable for communication between processes using shared memory.
как сделают так и будет лол

Dmitry
16.07.2018
16:40:21
Так атомик shared_ptr или нет оо
Счётчик атомарный. Но писать читать в один ptr конкурентно нельзя. Потому что при этом надо атомарно менять и счётчик и сам указатель.

Руслан
16.07.2018
16:40:54
Что это?

Dmitry
16.07.2018
16:42:35

Andrey
16.07.2018
16:45:10

Руслан
16.07.2018
16:46:47
Гонку так вижу, но откуда замена

Ilia
16.07.2018
16:48:19
Именно

Dmitry
16.07.2018
16:48:47
Гонку так вижу, но откуда замена
Нет, при условии безопасности передачи между потоками всё можно. Например в контекст потока хоть через копирование, хоть через перемещение.

Серж
16.07.2018
16:49:20
20.8.2.6 shared_ptr atomic access [util.smartptr.shared.atomic]
Concurrent access to a shared_ptr object from multiple threads does not introduce a data race if the access is done exclusively via the functions in this section and the instance is passed as their first argument.

Dmitry
16.07.2018
16:49:54
Но вот за попытки завести глобальный смартптр и конкурентно читать/писать будут бить :)

Google

Alexey
16.07.2018
17:17:28

Joiuer
16.07.2018
19:42:03
Где взять шпаргалку для программирования ,библиотеки и все что они содержат ,а рядом пояснение ,что делает и тд. ?
Искал не нашел

Крис
16.07.2018
19:42:48

Joiuer
16.07.2018
19:44:01
Допустим,где найти всё и все о с++
Полный список о с+

Крис
16.07.2018
19:49:03
Полный список о с+
Верхняя оценка - Все что когда-либо было написано о плюсах, процентов 90 в инете. Универсальной шпаргалки нет. Можно почитать стандарт, там есть детали языки и о стандартной либе

Побитый
16.07.2018
19:51:03

Крис
16.07.2018
19:51:48
Cheat Sheet какой-то нужен я думаю)

Побитый
16.07.2018
19:52:19
Думаю, об этом)
Допустим,где найти всё и все о с++

Крис
16.07.2018
19:52:41
Ну ладно(

Побитый
16.07.2018
19:52:46
Плюс там оформление очень близко к шпаргалке

Владислав
16.07.2018
20:48:56
Уважаемые, подскажите ворк к c++ для gui для новичка... Метаюсь между qt/wxW/gtk. Уже второй день не могу определиться. Или же есть способ cli оседлать?

Mikhail Voronov
16.07.2018
20:57:07

Azoyan
16.07.2018
21:10:39
Объясните https://ideone.com/OePeRz почему игнорирует?

Аттрибутивно-ассоциативный ряд
16.07.2018
21:12:20

Alexander
16.07.2018
21:23:44

Владислав
16.07.2018
21:26:07
Qt
На qt как полагаю можно и оставаться на совсем?

Google

Alexander
16.07.2018
21:26:14

Владислав
16.07.2018
21:26:32

Mikhail Voronov
16.07.2018
22:22:56

Azoyan
16.07.2018
22:24:37
Ты описал код, но не сказал почему не меняется.

Mikhail Voronov
16.07.2018
22:35:01

Azoyan
16.07.2018
22:37:43

Mikhail Voronov
16.07.2018
22:37:45
Ты описал код, но не сказал почему не меняется.
при кастинге создаётся временный объект (prvalue, предпоследний случай в категории prvalue отсюда - https://github.com/jeaye/value-category-cheatsheet/raw/master/value-category-cheatsheet.pdf), который потом модифицируется

Azoyan
16.07.2018
22:40:01
Отдушибрат!

Stolyarchuk
16.07.2018
23:50:54
@anatolijs , прошу принять извинения, коллеги.. день сегодня не очень.. но выливать это сюда - с моей стороны тоже не самый хороший поступок. Мир


Ivan
17.07.2018
04:37:58
Добрый день. Возможно, это слишком простые вопросы, но в supapro не получил ответа.
1. Как правильно использовать seed_seq для инициализации mt19937_64?
У меня есть 4 числа в std::array, которые являются источником энтропии.
На данный момент делаю таким образом
std::array<std::uint64_t, 4> arr {1, 2, 3, 4};
std::seed_seq seeds (arr.begin(), arr.end());
std::mt19937_64 gen(seeds);
Но надежно ли такое решение? В некоторых примерах набор seed состоит из 312 (mt19937::state_size) элементов.
2. Также иногда встречается метод generate класса seed_seq, который заполняет контейнер. Но я немного не понимаю его смысл. Нужно инициализировать seed_seq и с помощью generate заполнить контейнер из 312 элементов, инициализировать новый seed_seq этим контейнером и, наконец, передать его mt19937_64? Звучит ужасно и выглядит как костыли.

Ilia
17.07.2018
04:50:49