• Нужно ли создавать отдельную функция для каждого thread (_beginthread)?

    tsarevfs
    @tsarevfs Куратор тега C++
    C++ developer
    Одну функцию можно запускать в нескольких потоках.
    P.S.
    1. Вы уверены что вам нужен _beginthread вместо std::thread?
    2. Убедитесь что computeDoneA0 и computeDoneA1 защищены для многопоточного использования.
    используйте std::atomic_bool или std::mutex + std::lock_guard для доступа к обычному bool
    Ответ написан
    1 комментарий
  • По какой формуле считается приз на рулетках?

    @lorc
    Ну на самом деле все логично. Мы делим ставку на вероятность выигрыша. И округляем конечно же вниз:

    1 / 0.01 = 100
    1 / 0.95 = 1.0526 ~= 1.05

    Если предположить что шансы у них честные, то доход казино обеспечивается как раз этим округлением вниз. Во втором случае матожидание выигрыша получается 1.05 * 0.95 = 0.9975 рубля на каждый поставленный рубль.

    Классическая рулетка работает точно так же. Только там добавляется сектор зеро, на котором вы всегда проигрываете. Он и обеспечивает доход казино.
    Ответ написан
    Комментировать
  • Какие существуют бесплатные антивирусы и брандмауэры для некоммерческих организаций?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    Штатный файервол очень неплох - смысла ставить какой то другой нет в большинстве известных мне ситуаций - лучше не будет.
    Если нужно лучше - ставьте отдельное железо.

    Насчет антивируса - опять же штатный антивирус идет в комплекте, не просит денег, эффективно обрабатывет большинство угроз, и при этом не тормозит систему. В большинстве случаев нет смысла ставить другой.
    Если не хватает встроенного - не поможет и другой. Там уже не антивирус надо, а комплексную безопасность обеспечивать - настройка прав, сети.
    Ответ написан
    Комментировать
  • Как использовать сторонние C++ библиотеки в Visual Code на Linux?

    @res2001
    Developer, ex-admin
    Не зависимо в какой ОС вы работает и какой IDE пользуетесь схема одна и та же:
    1. Для того что бы в своих исходниках вы могли использовать вызовы сторонней библиотеки вы должны включить заголовочные файлы библиотеки с помощью директивы #include.
    2.Чтоб компилятор смог откомпилировать ваш код вы должны задать ему место расположение заголовочных файлов сторонней библиотеки с помощью опции -I компилятора. В линуксе, если библиотека установлена штатным пакетным менеджером, возможно это не потребуется, т.к. заголовочные файлы будут доступны по стандартным путям поиска заголовочных файлов.
    3.Чтоб линковщик смог собрать исполняемый файл вы должны указать ему путь и имя двоичных файлов библиотеки с помощью опции -L и -l. Опять же в линуксе, возможно, путь (-L) указывать не потребуется (см.п.2), только имя библиотеки (-l).
    4.Если библиотека установлена не в стандартные каталоги, то загрузчик исполняемых файлов может ее не найти. Чтоб это исправить возможно потребуется запустить утилиту ldconfig или даже добавить каталог библиотеки в конфигурационный файл ldconfig. Как вариант добавить в переменную окружения LD_LIBRARY_PATH путь к библиотечным бинарным файлам перед запуском программы.
    В винде ldconfig нет - библиотечные файлы должны быть либо в каталоге где лежит исполняемый файл программы, либо в одном из путей, заданных в переменной окружения PATH.

    Когда вы запускаете сборку в IDE, то обычно опции компилятора из пп.1-3 вы должны указывать в свойствах проекта.
    Ответ написан
    3 комментария
  • Когда вообще используется этот List?

    vt4a2h
    @vt4a2h Куратор тега C++
    Senior software engineer (C++/Qt/boost)
    Ваш эксперимент далёк от идеала. Сделайте примерно 1000 одинаковых экспериментов и возьмите среднее + если мы измеряете время вставки, то ненадо учитывать время заполнения контейнера. Надо вызвать resize у вектора и листа, заполнить их (не push_back'ом), а потом измерить время вставки, и так примерно 1000 раз, каждый раз с новым вектором и листом. И время замерять, после того как вы получили итератор на нужное место в листе, а не до. Т.е. только время вставки.
    Про оптимизации пока умолчим.

    Применяется лист в зависимости от данных и используемых алгоритмов. Где актуальны приемущества листа (читайте документацию, какие), там и применяется. + еще надо уметь пользоваться контейнерами (а то потом начнется про то что, например, вектор работает медленно и памяти много жрет или что в листе долгий доступ по индексу).

    PS Время так можно замерять: en.cppreference.com/w/cpp/chrono
    Ответ написан
    2 комментария
  • Какой бесплатный антивирус поставить дома, простому пользователю?

    Wott
    @Wott
    Microsoft Security Essential
    На удивление сбалансированный оказался
    Ответ написан
    7 комментариев
  • Лёгкий браузер изображений под Win7x64?

    easyman
    @easyman
    FastStone Image Viewer www.faststone.org/
    Что именно хочется от контекстного меню?
    Ответ написан
    5 комментариев