105 / 7 / 1
Регистрация: 27.04.2015
Сообщений: 215
|
||||||
1 | ||||||
Как перегрузить ++ для std::atomic<class>?07.09.2024, 20:53. Показов 1105. Ответов 18
Метки нет (Все метки)
Добрый день. Я экспериментирую с std::atomic, наваял вот такой код
Непонятно почему , вроде цикл должен чего-то в ней менять.
0
|
07.09.2024, 20:53 | |
Ответы с готовыми решениями:
18
Разъясните код пжлст(выдает ошибку:cannot convert from 'class std::list<class c_bullet *,class std::allocator<class c_bullet *> >::iterator' to 'int') Std::atomic vs std::mutex Std::atomic выбор конструктора Std::atomic и другие объекты |
667 / 281 / 70
Регистрация: 07.01.2023
Сообщений: 1,155
|
|
07.09.2024, 22:23 | 2 |
1
|
105 / 7 / 1
Регистрация: 27.04.2015
Сообщений: 215
|
|
07.09.2024, 22:30 [ТС] | 3 |
О как, это похоже на правду. Или это мой косяк? Просто тут https://ru.cppreference.com/w/... tomic/load сказано - Атомарно загружает и возвращает текущее значение атомарной переменной.
А как тогда можно узнать содержимое атомарного экземпляра класса ?
0
|
667 / 281 / 70
Регистрация: 07.01.2023
Сообщений: 1,155
|
|
07.09.2024, 22:49 | 4 |
совершенно верно. Только возвращает он как результат присваивания.
Указатели, shared_ptr... все для вас
0
|
105 / 7 / 1
Регистрация: 27.04.2015
Сообщений: 215
|
|
08.09.2024, 00:24 [ТС] | 5 |
Прошу прощения, я совсем запутался. Тогда зачем существует std::atomic без специализации ?
0
|
фрилансер
5843 / 5372 / 1102
Регистрация: 11.10.2019
Сообщений: 14,353
|
||||||
08.09.2024, 08:22 | 6 | |||||
Anton1978, засовывать под атомик не интегральные типы - так себе затея. Вот так лучше сделать:
0
|
105 / 7 / 1
Регистрация: 27.04.2015
Сообщений: 215
|
|
08.09.2024, 09:51 [ТС] | 7 |
это так, но я пытаюсь разобраться именно в том, почему в атомик можно пихать любой тип.
0
|
667 / 281 / 70
Регистрация: 07.01.2023
Сообщений: 1,155
|
|
08.09.2024, 10:15 | 8 |
0
|
105 / 7 / 1
Регистрация: 27.04.2015
Сообщений: 215
|
|
08.09.2024, 10:50 [ТС] | 9 |
а почему да? получается же, что я с этой переменной ничего сделать не могу
0
|
667 / 281 / 70
Регистрация: 07.01.2023
Сообщений: 1,155
|
|
08.09.2024, 11:05 | 10 |
0
|
105 / 7 / 1
Регистрация: 27.04.2015
Сообщений: 215
|
|
08.09.2024, 13:56 [ТС] | 11 |
например как ?
0
|
667 / 281 / 70
Регистрация: 07.01.2023
Сообщений: 1,155
|
||||||
08.09.2024, 17:06 | 12 | |||||
Anton1978, например вот так
0
|
105 / 7 / 1
Регистрация: 27.04.2015
Сообщений: 215
|
|
08.09.2024, 18:53 [ТС] | 13 |
Спасибо, но меня интересовало не решение любой ценой, а как использовать атомик со своим классом.
Буду искать информацию.
0
|
фрилансер
5843 / 5372 / 1102
Регистрация: 11.10.2019
Сообщений: 14,353
|
|
08.09.2024, 18:55 | 14 |
Anton1978, std::mutex уже потребуется
0
|
667 / 281 / 70
Регистрация: 07.01.2023
Сообщений: 1,155
|
||||||
08.09.2024, 19:08 | 15 | |||||
вопрос какое действие вы хотите защитить?
Например вполне рабочий пример.
1
|
105 / 7 / 1
Регистрация: 27.04.2015
Сообщений: 215
|
||||||
08.09.2024, 23:58 [ТС] | 16 | |||||
получается идея была правильной - это возможно. Проблема во мне, мне не понятна вот эта строчка
0
|
667 / 281 / 70
Регистрация: 07.01.2023
Сообщений: 1,155
|
|
09.09.2024, 09:37 | 17 |
Anton1978, слово такое, "референс" (reference) читали? Вот это он и есть. Т.е. метод add возвращает референс на объект класса xMe
1
|
105 / 7 / 1
Регистрация: 27.04.2015
Сообщений: 215
|
|
10.09.2024, 11:30 [ТС] | 18 |
я знаю что такое ссылка, я просто не думал что вот так можно
0
|
2565 / 1277 / 468
Регистрация: 08.11.2016
Сообщений: 3,525
|
||||||
11.09.2024, 10:25 | 19 | |||||
в общем "вот так вот", как привило, нужно - операторы возвращают либо тип, либо ссылку на тип для использования в цепочках операторов, например:
1
|
11.09.2024, 10:25 | |
11.09.2024, 10:25 | ||||||
Помогаю со студенческими работами здесь
19
Пример о необходимости std::atomic Стоит ли использовать std::atomic? Расположение барьеров памяти в std::atomic Использование std::atomic вместо mutex std::atomic и реализация списка на нем Как определить / перегрузить std::iter_swap Std::atomic. Реализация свободного от блокировок стека Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|