Size: a a a

2021 February 18

S

Skarn in supapro.cxx
 ‌‌Gleb Pilipets
Ребят, а как получить рандомный эллемент массива в С++?

arr[rand() % arr.size()]
Вот этот вариант не подходит из-за Макс значения и неравномерного распределения.

Каждый раз создавать генератор или хранить где-то?
использовать генератор получше чем rand()?
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
А
массив все гда const
Нет
источник

K

Kirill in supapro.cxx
 ‌‌Gleb Pilipets
Ребят, а как получить рандомный эллемент массива в С++?

arr[rand() % arr.size()]
Вот этот вариант не подходит из-за Макс значения и неравномерного распределения.

Каждый раз создавать генератор или хранить где-то?
rand() нормально подходит для большинства задач
источник

А

А in supapro.cxx
как нет?
нельзя менять далше
он всегда const
источник

S

Skarn in supapro.cxx
А
как нет?
нельзя менять далше
он всегда const
а кто его собирался менять?
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
Ну я имел в виду, что он может расти или уменьшаться за счёт последнего эллемента.
Свопа последнего с i-м например.

То есть мне просто интересно, как обеспечить равномерные вероятности получения эллементов для массива.
источник

А

А in supapro.cxx
Skarn
а кто его собирался менять?
ну рандом же  
а все
источник

SS

Sergey Skvortsov in supapro.cxx
 ‌‌Gleb Pilipets
Ну я имел в виду, что он может расти или уменьшаться за счёт последнего эллемента.
Свопа последнего с i-м например.

То есть мне просто интересно, как обеспечить равномерные вероятности получения эллементов для массива.
std::uniform_int_distribution
источник

O

Ofee in supapro.cxx
Denis Paukaev
в стандарт уже внесли упоминание O3, или я что-то пропустил?
Если хотите рассуждать об инлайне в терминах стандарта, то:
>> An implementation is not required to perform this inline substitution at the point of call
Так что рассуждения об увеличении вероятности встраивания подкреплены стандартом не более, чем влияние флагов компиляции документацией компиляторов. В худшем случае не работает ни то, ни другое. Так что стоит подумать о реальном коде и реальных компиляторах
источник

DP

Denis Paukaev in supapro.cxx
Ofee
Если хотите рассуждать об инлайне в терминах стандарта, то:
>> An implementation is not required to perform this inline substitution at the point of call
Так что рассуждения об увеличении вероятности встраивания подкреплены стандартом не более, чем влияние флагов компиляции документацией компиляторов. В худшем случае не работает ни то, ни другое. Так что стоит подумать о реальном коде и реальных компиляторах
ещё раз, "inline это только про ODR" != "not required"
источник

DP

Denis Paukaev in supapro.cxx
будет про ODR когда этот абзац удалят
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
Sergey Skvortsov
std::uniform_int_distribution
Спасибо
источник

U

UniCoder in supapro.cxx
Всем привет, кто может сказать как создать пакет и отправить на ip adress
источник

K

Kirill in supapro.cxx
UniCoder
Всем привет, кто может сказать как создать пакет и отправить на ip adress
Очевидно через сокеты
источник

U

UniCoder in supapro.cxx
Да это понятно
источник

K

Kirill in supapro.cxx
А какой протокол? TCP, UDP?
источник

U

UniCoder in supapro.cxx
UPD
источник

U

UniCoder in supapro.cxx
UDP*
источник

K

Kirill in supapro.cxx
UniCoder
UDP*
https://www.geeksforgeeks.org/udp-server-client-implementation-c/
первая же ссылка в гугле
источник

U

UniCoder in supapro.cxx
Благодарю
источник