Size: a a a

2021 March 03

FS

Flower Surgeon in supapro.cxx
Ilia Zviagin
Барьеры с 11го.
источник

Е

Егор in supapro.cxx
а в чём разница барьера и https://en.cppreference.com/w/cpp/atomic/atomic_thread_fence?
источник

Е

Егор in supapro.cxx
Егор
а в чём разница барьера и https://en.cppreference.com/w/cpp/atomic/atomic_thread_fence?
а не, это про другое, что-то я попутал
источник

Q

Qqqq in supapro.cxx
Ilia Zviagin
Проверять просто
Так в этом и проблема ,если я передаю в конструктор заведомо большое число ,в самом констрикторе оно уже имеет значение меньшее чем минимум для инта ,хотя передавал я заведомо большее...
источник

FS

Flower Surgeon in supapro.cxx
Егор
а в чём разница барьера и https://en.cppreference.com/w/cpp/atomic/atomic_thread_fence?
Во многом.
источник

IZ

Ilia Zviagin in supapro.cxx
Qqqq
Так в этом и проблема ,если я передаю в конструктор заведомо большое число ,в самом констрикторе оно уже имеет значение меньшее чем минимум для инта ,хотя передавал я заведомо большее...
Ну вот проверь это условие и что-то сделай или не сделай. Или исключение выкини.
источник

FS

Flower Surgeon in supapro.cxx
Егор
а в чём разница барьера и https://en.cppreference.com/w/cpp/atomic/atomic_thread_fence?
std::barrier создаёт точку, в которой ожидается N тредов
источник

Е

Егор in supapro.cxx
Flower Surgeon
std::barrier создаёт точку, в которой ожидается N тредов
та я понял
источник

Е

Егор in supapro.cxx
думал тред_фенс это и делает
источник

Д

Дмитрий in supapro.cxx
Corvus Sanguinem
Добрый вечер, небольшая проблема возникает при вызове ф-ции showgrid, говорит, что в checkpos ошибка доступа

int checkpos(int x, int y) {
       int ret = 0;
       if (mines_grid[x][y])
           return 9;
       for (int i = x - 1; i <= x + 1; i++) {
           for (int k = y - 1; k <= y + 1; k++) {
               if (mines_grid[i][k])
                   ret++;
           }
       }
       return ret;
   }

   void showgrid() {
       show_grid = new int* [size];
       for (int i = 0; i < size; i++) {
           show_grid[i] = new int[size];
       }
       for (int i = 0; i < size; i++) {
           for (int k = 0; k < size; k++) {
               show_grid[i][k] = 0;
           }
       }
       for (int i = 0; i < size; i++) {
           for (int k = 0; k < size; k++) {
               show_grid[i][k] = checkpos(i, k);
           }
       }
   }
смотри сорцы winmine, там все тож самое
источник

Q

Qqqq in supapro.cxx
Скажем передаю я
10000000000
а в результате в конструкторе получаю
-1416854817 что больше чем нижняя граница для инта и следовательно проверить я такие данные даже на этапе конструирования экземпляра никак не могу
источник

FS

Flower Surgeon in supapro.cxx
Егор
думал тред_фенс это и делает
читай доку тщательнее
источник

IZ

Ilia Zviagin in supapro.cxx
Qqqq
Скажем передаю я
10000000000
а в результате в конструкторе получаю
-1416854817 что больше чем нижняя граница для инта и следовательно проверить я такие данные даже на этапе конструирования экземпляра никак не могу
как ты такое передать можешь?\
источник

Д

Дмитрий in supapro.cxx
Дмитрий
смотри сорцы winmine, там все тож самое
а вообще стоит сделать нормальную обертку над полем и забыть про все проблемы
источник

Q

Qqqq in supapro.cxx
Ilia Zviagin
как ты такое передать можешь?\
Ну вот в код-блоксе с мингв компилятором все собирается
источник

LA

Liber Azerate in supapro.cxx
Qqqq
Ну вот в код-блоксе с мингв компилятором все собирается
Оно и должно собираться. Вопрос в том, что передавать ты такое не должен, ясно дело оно убнёт и ты никак не проверишь. Проверка должна быть раньше
источник

D

Danya in supapro.cxx
 ‌‌Gleb Pilipets
А почему в С++ стандарт не добавят больше многопоточности как в Java?
Тредпулы, барьеры, семафор и т.д.
В 23 будет лучше — екзекуторы
источник

IZ

Ilia Zviagin in supapro.cxx
Qqqq
Ну вот в код-блоксе с мингв компилятором все собирается
Вот покажи код, тогда поговорим...
источник

Q

Qqqq in supapro.cxx
Liber Azerate
Оно и должно собираться. Вопрос в том, что передавать ты такое не должен, ясно дело оно убнёт и ты никак не проверишь. Проверка должна быть раньше
Тут ясно что на этапе компиляции все будет норм ,но вот как вообще обработать такую ситуация я что то не нашёл ,решил спросить у вас
источник

Q

Qqqq in supapro.cxx
Ilia Zviagin
Вот покажи код, тогда поговорим...
Ок сек
источник