C++ Описание вложенного класса в другом файле
не могу понять, как описать вложенный класс в другом хедере?
если это не возможно, то сделаю в одном, однако, удобнее их все же разделить файлово.
не могу понять, как описать вложенный класс в другом хедере?
если это не возможно, то сделаю в одном, однако, удобнее их все же разделить файлово.
почему, кстати
#ifndef BOARD_H
#define BOARD_H
....
#endifрешил я создать общую тему.
создаю кроссплатформенный покерный калькулятор эквити для безлимитного Holdem на си++17, сравнимый с simple postflop, CardRunners EV и подобным, только опенсорсный под лицензией GPLv3.
Покерный калькулятор будет вычислять эквити руки (шансы выиграть раздачу), относительно дипазона (предполагаемого множества рук) оппонента, а так же конкретной руки в безлимитном Holdem.
пока что пишу саму библиотеку для калькулятора.
на данный момент из вычислений реализован перебор бордов.
сам проект на ветке с STL
имеется ветка с использованием qt5 либы, тут будет задействовано максимум из qt5.
прошу советовать, что и как можно будет улучшить, предлагайте свое видение подобного проекта)))
имеется реализация одного кода с применением std::vector и QVector
по значению
time ./programимеется проект
запускной файл
там выполняется функция genFlop(), которая описана тут (github.com)
в ней выполняется моя попытка распараллелить вычисления.
если оставить всего один поток, то все выполняется отлично, все значения вычисляются. Однако, если запустить хатя бы два потока, то начинается недосчет значений. Точность важна.
Предположительно несколько потоков имеют доступ к одной сущности из-за чего для другого параллельного потока она корруптится и получается неправильное значение.
не могу понять, что за сущность так влияет подобным образом.
в самой функции подсчетов я поставил мьютексы на накопители, которыми и осуществляется подсчет.
Есть ли у кого какие мнения почему подсчеты не верны при параллелизме и всегда разные?
имеется программа, которая работает в однопоточном режиме, однако отказывается делиться на потоки.
классы Card, Hand, Deck не описал в данном примере, потому что и так уже громоздко получилося. Если необходимо их описать, добавлю.
данная программа выдает ошибку:
/usr/include/c++/8.2.1/thread:120:17: error: static assertion failed: std::thread arguments must be invocable after conversion to rvalues
static_assert( __is_invocable<typename decay<_Callable>::type,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
typename decay<_Args>::type...>::value,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~имеется необходимость использования лямбда функции в выражении оператора «if». Однако, вписывая туда:
if ([&a, &b, &c](){
for (auto el : a)
{
if (b == el || c == el)
{
return true;
}
}
return false;
} || c == b)
{
return ЗНАЧЕНИЕ;
}
имеется пример:
#include <iostream>
using namespace std;
class Number
{
private:
int number = 0;
public:
int getNumber ()
{return number;}
void setNumber(const int number)
{
this->number = number;
}
Number & operator= (const Number &number)
{
this->number = number.number;
return *this;
}
};
class TwoNumbers
{
private:
Number num1, num2;
public:
void getNumbers(Number &num1, Number &num2)
{
num1 = this->num1;
num2 = this->num2;
}
void setNumbers (const int num1, const int num2)
{
this->num1.setNumber(num1);
this->num2.setNumber(num2);
}
};
void upup (const TwoNumbers &numbers)
{
Number a,b;
numbers.TwoNumbers::getNumbers(a,b);
cout << a.getNumber() << endl << b.getNumber() << endl;
}
int main()
{
TwoNumbers c;
c.setNumbers(1,2);
upup(c);
return 0;
}
../Test/main.cpp:49:39: error: passing ‘const TwoNumbers’ as ‘this’ argument discards qualifiers [-fpermissive]
numbers.TwoNumbers::getNumbers(a,b);
^
имеется арч, Code Blocks 17.12.
почему-то не дополняет из STL поля классов и структур, испробовал множество классов, таких как string, vector, array и подобные.
необходимо, что бы при обращении к полям объекта через точку они выводились, ну и ессесна поля классов через ::
получается создаю объект, пытаюсь через точку вывести список автокомплита, но ничего не происходит:
#include <string>
using namespace std;
string a;
a. <--- вот тут ничего не происходит
не получается обуздать создание статического массива внутри класса. Нужно выделить статический массив в теле класса, но при попытке сделать так:
class MyClass
{
static const char arr[10] {'1','2', ... ,'9'};
}
g++ -fexceptions -std=c++14 -g -Wextra -Wall -Werror в общем говоря, приобрел сей девайс, но в вечернее время сильно просаживалось фпс...
в принцыпе я и сам понимал, что тут дело скорее всего в авто экспозиции, но вот как ее отключить я не понял.
испробывал многие проги настройки камер (guvcview, v4l2ucp и т.д.), но в них попросту отсутствует данная функция.
пошел на винду, скачал дрова от подобной камеры с сайта a4tech, т.к. на мою там нету дров, в дровах лежала прога okam (вроде), открыл ее, залез в настройки камеры и о чудо, там есть отключение авто экспозиции и регулировка ее вручную.
Отключил, поставил вменяемое значение, все стало супер... почти...
вопрос — почему не могут найтить енту функцию проги на линукс?
смотрел заголовки v4l2 — там управление ентим моментом имеется.
имеется арч, i3wm, nvidia gtx560, nvidia-390.xx дрова.
чото решил покапаться в манах по иксоргу, добрался до пункта MODULE SECTION и за одно решил проверить чо присутствует по пути
`--> ll /lib/xorg/modules/*
-rwxr-xr-x 1 root root 92880 июн 10 10:22 /lib/xorg/modules/libexa.so
-rwxr-xr-x 1 root root 18664 июн 10 10:22 /lib/xorg/modules/libfbdevhw.so
-rwxr-xr-x 1 root root 109456 июн 10 10:22 /lib/xorg/modules/libfb.so
-rwxr-xr-x 1 root root 204864 июн 10 10:22 /lib/xorg/modules/libglamoregl.so
-rwxr-xr-x 1 root root 141976 июн 10 10:22 /lib/xorg/modules/libint10.so
-rwxr-xr-x 1 root root 10304 июн 10 10:22 /lib/xorg/modules/libshadowfb.so
-rwxr-xr-x 1 root root 34912 июн 10 10:22 /lib/xorg/modules/libshadow.so
-rwxr-xr-x 1 root root 26992 июн 10 10:22 /lib/xorg/modules/libvbe.so
-rwxr-xr-x 1 root root 31880 июн 10 10:22 /lib/xorg/modules/libvgahw.so
-rwxr-xr-x 1 root root 129936 июн 10 10:22 /lib/xorg/modules/libwfb.so
/lib/xorg/modules/drivers:
итого 7704
-rwxr-xr-x 1 root root 102944 июн 10 10:22 modesetting_drv.so
-rwxr-xr-x 1 root root 7780432 июн 7 00:23 nvidia_drv.so
/lib/xorg/modules/extensions:
итого 276
-rwxr-xr-x 1 root root 281544 июн 10 10:22 libglx.so
/lib/xorg/modules/input:
итого 184
-rwxr-xr-x 1 root root 60064 июн 3 14:08 evdev_drv.so
-rwxr-xr-x 1 root root 71576 апр 10 20:14 libinput_drv.so
-rwxr-xr-x 1 root root 50672 ноя 18 2016 mouse_drv.so
The “extmod”, “dbe”, “dri”, “dri2”, “glx”, and “record” extension modules are loaded automaticallyПочемуто в скайпе черный квадрат у камеры.
ноутбук asus k53sm
в проге guvcview все норм работает...
скрин настроек в скайпе
камеру вроде видит, но не показывает.
`--> lsusb
Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 0bda:0139 Realtek Semiconductor Corp. RTS5139 Card Reader Controller
Bus 001 Device 004: ID 13d3:5710 IMC Networks UVC VGA Webcam
Bus 001 Device 006: ID 0cf3:3005 Qualcomm Atheros Communications AR3011 Bluetooth
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
`--> lspci
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)
00:1c.1 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 (rev b5)
00:1c.3 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 (rev b5)
00:1c.5 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 6 (rev b5)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation HM65 Express Chipset Family LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port Mobile SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)
01:00.0 VGA compatible controller: NVIDIA Corporation GF108M [GeForce GT 620M/630M/635M/640M LE] (rev ff)
03:00.0 Network controller: Qualcomm Atheros AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
04:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
написал утилитку, удаляющую все файлы wine из каталогов «/home/safff/.local/share/mime/application» и «/safff/.local/share/mime/packages».
все работает, только наблюдается утечка памяти. поначалу вроде ничего, килобайт 500, но потом разрастается за 10 минут в 2 метра+.
не пойму откуда ента утечка
пытался написать прогу, но почему то гцц начал ересь нести... при компиляции даже такого простейшего кода
#include <stdio.h>
#include <stdlib.h>
void main(void) {
char str1 = "razraz";
printf ("\n");
return;
}`--> gcc test.c -o testup
test.c: В функции «main»:
test.c:6:14: предупреждение: при инициализации указатель преобразуется в целое без приведения типа [-Wint-conversion]
char str1 = "razraz";
^~~~~~~~
имеется арч, поврежденный видео файл (при видеосъемке телефон упал и батарейка вывалилася).
пробывал восстановление Video Repair Tool через вайн — восстанавливает, но не все, что было до момента отвала АКБ телефона.
пробывал так же untrunc, создает копеешные файлы, в которых ессесна нет видео.
так же пробывал вот енто, но он не хочет почему то нормально определять содержимое m4v, хатя в описании написано, что вроде должен, в общем он пишет все в файл выхода звука.
не могу больше найти ничего подобного.
после «аварии» скопил на комп под виндой сам файл, после чего на флешке он стал 0 байт почемуто.
придя домой задедешил всю флешку.
флешка c FAT
вот чо думает qmplay2 о файле, который был записан не за долго до испорченного, настройки записи никак не менял.
чо кто посоветует?
имеется арч, i3wm
не помню с какого обновления у меня стали дочерние окна перемещаться на задний план относительно родительских при наведении на родительские во флат режиме.
раньше дочернее окно всегда оставалось на переднем плане, хоть и активизировалось родительское окно для перетаскивания.
в данный момент получается так, что любые оповещения при наведении на родительские окна во флат режиме улетают под них...
мб создали настройку данного момента, а я енто упустил?
имеется арч.
понадобилась данная прога, но не могу понять, как ее правильно записывать?
пытался через
`--> sudo dd if=Downloads/hdat2cd_53.iso of=/dev/sdbапд... если дедешу img файл, то просит ввести путь до COMMAND.COM, ввожу снова просит, хатя он лежит в корне. выше пишет запуск шиндовс98... ваще не пойму в чем трабббла
имеется арч, винт ноутовский 5400 об. на 500гигов, gpt разметка
не пойму почему пишет
`--> sudo fdisk /dev/sda -l
Диск /dev/sda: 465,8 GiB, 500107862016 байт, 976773168 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 4096 байт
Размер I/O (минимальный/оптимальный): 4096 байт / 4096 байт
Тип метки диска: gpt
Идентификатор диска: D24E4E41-B998-49D8-9DF3-0C486422CB38
Устр-во начало Конец Секторы Размер Тип
/dev/sda1 2048 616447 614400 300M EFI
/dev/sda2 616448 1230847 614400 300M Файловая система Linux
/dev/sda3 1230848 85116927 83886080 40G Файловая система Linux
/dev/sda4 535144448 976773119 441628672 210,6G Файловая система Linux
/dev/sda5 85116928 535144447 450027520 214,6G Файловая система Linux
| ← назад | следующие → |