
Properrr
20.04.2018
17:02:24
А аргумент по умолчанию не прокатит?
А, не

Oleg
20.04.2018
17:03:34
Каким образом? Тут проблема в описании параметра функции g

Nikita
20.04.2018
17:04:16
да блин бесит 12938612 sfinae перегрузок делать которые в одной строчке различаются

Google

Oleg
20.04.2018
17:06:38
Если у тебя все функции возвращают одинаковое значение, то сдедать можно. Если разные, то можно попробовать через шаблоны, но не факт, что получится

Aidar
20.04.2018
17:08:30

Nikita
20.04.2018
17:08:45

Aidar
20.04.2018
17:08:59
в любом случае
по факту тебе надо написать invoke который умеет игнорить void
но имхо XY-problem

Oleg
20.04.2018
17:11:31
Как-то так: g<T>(std::function<T()> f)
Но я хз сработает ли такое

Aidar
20.04.2018
17:13:08


Nick
20.04.2018
17:33:46
TCHAR *szPath = TEXT("cmd.exe");
STARTUPINFO si = { number_process };
si.cb = sizeof(si);
memset(&si, 0, sizeof(si));
DWORD dwWait = 0;
PROCESS_INFORMATION *pi = (PROCESS_INFORMATION*)malloc(sizeof(PROCESS_INFORMATION) * number_process);
for (int i = 0; i < stop; i++) {
if (CreateProcess(szPath, list[i], NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi[i]) != TRUE) {
return 0;
}
}
for (int i = 0; i < stop; i++) {
dwWait = WaitForSingleObject(pi[i].hProcess, INFINITE);
CloseHandle(pi[i].hProcess);
CloseHandle(pi[i].hThread);
}
stop = 0;
free(pi);
Все работает нормально, запись верная? Особенно интересует
for (int i = 0; i < stop; i++) {
dwWait = WaitForSingleObject(pi[i].hProcess, INFINITE);
CloseHandle(pi[i].hProcess);
CloseHandle(pi[i].hThread);
}

Constantine
20.04.2018
19:07:24

Google

Vladimir
20.04.2018
20:01:43
Добрый день! Есть текущая таска, нужен субподряд, зашиваемся нет времени)
— Есть несколько типов контроллеров, раскиданных по сетке, подключённых на win-компы. пока три типа: турникеты, картоприёмники (2 типа, NFC), шлагбаум. Желательно:
1) Предложить нормальную архитектуру как избавиться от компов с виндой
2) Разработатть SDK-прослойку, которая с ними общаяется в рамках микросервисной архитектуры унифицированно.
3) Возможно где-то придётся пореверсить протоколы общения с контроллерами через wireshark
PM plz

Kitsu
20.04.2018
20:01:59
Не подскажет кто как правильнее всего делать отключение rxcpp::observable<>::timer? А то гонки в деструкторах появляются и таймер лишний раз триггерится

Vladimir
20.04.2018
20:02:31
ну это не вакансия, халтурка) ну ок я напишу спс

Kitsu
20.04.2018
20:04:53

Vladimir
20.04.2018
20:05:38

Alexei
20.04.2018
20:26:43
А что за контроллеры? Стм32ф4 не очень то и глупы особенно в сравнении с аттини :)

Roman
20.04.2018
20:33:15
Ты их одухотворяешь?

Vladimir
20.04.2018
20:33:35

Alexei
20.04.2018
20:35:48
Это аакое то гоьовое специализированное устройство ))) интересно многие при упоминанит контроллеров подумали как и я про микроконтроллеры

Sergey
20.04.2018
20:42:21
Не думаю?

Constantine
20.04.2018
22:02:57
А что не так с вызовом деструктора в конструкторе?

Properrr
20.04.2018
22:03:34
Та нахер эти триграфы...

Denis
20.04.2018
22:05:40

Constantine
20.04.2018
22:06:18

Denis
20.04.2018
22:07:18
не того процитировал
:)

Constantine
20.04.2018
22:07:58
я ниасиливаю в чем проблема с вызовом собственного деструктора пока

MrSmeet
20.04.2018
22:08:27
Ну так то плохая практика, сразу видно кто блоги Маерса по вечерам читает. Ждем выводов о том что вызов деструктора из конструктора впринципе не особо опасен так то

Google

Constantine
20.04.2018
22:09:07
Ты поясни за опасность

MrSmeet
20.04.2018
22:10:42

Constantine
20.04.2018
22:10:43
Хотя явный деструктор и является парой к размещающему new, я не понимаю, почему его нельзя вызывать в конструкторе

Denis
20.04.2018
22:14:53

MrSmeet
20.04.2018
22:14:55

Denis
20.04.2018
22:15:07
вызвать деструктор из конструктора можно

Constantine
20.04.2018
22:15:41

MrSmeet
20.04.2018
22:20:10
что UB?
Поведение объектов. Как выше заметили к примеру возникают проблемы с наследованием. У маерса подробная статья есть я найти щас не могу ибо времени тонна прошла

Constantine
20.04.2018
22:22:35

MrSmeet
20.04.2018
22:33:33
Ну может я стар но раньше было ub, покрайне мере я точно об этом читал
https://habrahabr.ru/post/353940/

MrSmeet
20.04.2018
23:29:54
В честь этого надо завезти смайлик кота но у меня они почему то заблоченны
Кот такой в ужасе

Nik
21.04.2018
01:22:14
if the destructor for an
automatic object is explicitly invoked, and the block is subsequently left in a manner that would ordinarily
invoke implicit destruction of the object, the behavior is undefined.

Alexei
21.04.2018
05:43:14
Ппц
Вызов функции != Удаление объекта
Дескруктор это специальная функция которая вызывается при удалении объекта

Admin
ERROR: S client not available

Alexei
21.04.2018
05:44:30
Ее можно переопределить на свою...

Google

Nik
21.04.2018
06:55:42
Вызов функции != Удаление объекта
А стандарт почитать? [class.dtor] 12.4.5
Once a destructor is invoked for an object, the object no longer exists; the behavior is undefined if the
destructor is invoked for an object whose lifetime has ended (3.8). [ Example: if the destructor for an
automatic object is explicitly invoked, and the block is subsequently left in a manner that would ordinarily
invoke implicit destruction of the object, the behavior is undefined. —end example ]
The lifetime of an object of type T ends when:
(1.3) — if T is a class type with a non-trivial destructor (12.4), the destructor call starts, or
(1.4) — the storage which the object occupies is reused or released.

Alexei
21.04.2018
06:56:37
Что не так? Помоему всё правильно написано

Nik
21.04.2018
06:57:07
вызов деструктора == удаление объекта
Объект перестает существовать как только деструктор вызван.

Alexei
21.04.2018
06:57:58
Ессно, но вызывается он не программистом)))))
При удаление объекта вызывается деструктор
Для удаления есть точное описание кто и когда удаляется
В какое время
Кроме объектов а куче с использованием new
Там для этого есть delete

Nik
21.04.2018
06:59:41
Вот я специально привел 1.3 пункт - нет разницы кто вызвал деструктор. Программист руками или implicit при выходе из скопа

Alexei
21.04.2018
07:00:20
)))) мда... Что ещн тут сказать)))

Nik
21.04.2018
07:00:25
delete лишь implicitly зовет деструктор и освобождает память. никакой магии

Alexei
21.04.2018
07:01:14
Ну ну
Жалко организаторы для попадания в чат тесты не создали... У меня были совсем другие ожидания что тут будут обсуждать :(

Nik
21.04.2018
07:12:35

Group Butler [beta]
21.04.2018
07:18:15
Reported to 1 admin(s)
Reported to 1 admin(s)

Google

Bogdan
21.04.2018
07:27:36
/report

Group Butler [beta]
21.04.2018
07:27:37

Дед Пегас
21.04.2018
07:29:26
Done

Antony
21.04.2018
07:33:17
А ведь кто-то прочитает, и без тега "сарказм" не поймёт что происходит, и будет писать volatile...

Sergey
21.04.2018
07:36:21

Nik
21.04.2018
07:37:19