MrSmith
Ну хз
Alexander "SonnySlave"
MrSmith
Мне собрать из исходников проще
Alexander "SonnySlave"
так а в этом случае мы просто компонуем и всё
MrSmith
?
MrSmith
clusster.emplace_back(new node(this));
MrSmith
У меня вот тут трабла
MrSmith
Объектники это старый код
MrSmith
static_assert(!is_void<_Tp>::value,
"can't delete pointer to incomplete type");
MrSmith
Он жалуется что деструктор найти не может
Danil
MrSmith
Хотя я вроде как форвард дикларацию заюзал и весь код разбит на cpp\hpp
MrSmith
Vladislav
добавь в main #include "node.hpp"
Vladislav
(и да, main без типа возврата и return - моветон)
MrSmith
О - заработало
MrSmith
Магия - не иначе
Vladislav
никакой магии
Vladislav
компилятору нужно знать размер node, как тебе сразу и сказали выше
MrSmith
Он же должен развернуть был инклюды или не должен?
Vladislav
у тебя не инклюдится node.hpp из network.hpp
MrSmith
В cpp инклюдится
Vladislav
ну и что? cpp-то ты не инклюдишь
MrSmith
Логично
MrSmith
Ладно спасиб пойду дальше скрябать навоз по коду
bebebe
Sergey
народ, поясните момент или укажите, что я не так думаю: pthread - потоки юзер левела и могут исполняться на одном ядре в контексте одного процесса. Как тогда сделать многопоточную прогу на разных ядрах?
Matwey
что-то новое
Matwey
никогда такого вроде бы не было
Sergey
в каком смысле? Я что-то не так про posix треды понял?
Matwey
В Linux потоки pthread это просто процессы с общими ресурсами.
Oleg
Могут исполняться и на разных, не беспокойтесь.
Anton
Matwey
Насколько помню жестких ограничений нет. Планировщик, конечно, старается запускать процесс на том ядре на котором он до этого выполнялся. Но тут без гарантий, особенно при нагрузке.
Sergey
спасибо большое, вроде понял, что еще нужно поглядеть
Aidar
Aidar
Я ваще не понимаю зачем:
http://www.cplusplus.com/reference/ios/ios_base/register_callback/
Aidar
Покажите юзкейс пж
Matwey
А это случайно не то что осталось с достандартных времен?
Matwey
Ну типа в качестве совместимости принесено в стандарт и забыто
🦥Alex Fails
оно и есть
🦥Alex Fails
Покажите юзкейс пж
к примеру, если ты сделал имбую в локаль другую, то тебе надо переформатировать какие-н данные под формат чисел или еще что-то
Aidar
🦥Alex Fails
ну, такое себе утверждение
🦥Alex Fails
а еще имбуе принимает локаль по ссылке! И чтобы она у тебя не взорвалась, хорошо бы увеличить счетчик у фасетки внутри локали
🦥Alex Fails
но вообще легаси да, мб перепилят в 20-м
Ioann_
@berkus where are u :?
🦥Alex Fails
ушел он, все его достали
Ioann_
Куда беркус пропал и почему ? Плохо, что ушел.
firther
А вернётся?
🦥Alex Fails
захочет - вернется
Egor
struct object {};
void g(const object &o2)
{
std::cout << &o2 << "\n";
}
void f()
{
object o;
std::cout << &o << "\n";
g(1 ? o : object());
}
почему в этом случае передаётся новый объект в функцию g()?
Владислав
Egor
что неясно?
Владислав
Где именно затык
В условии в предпоследней строке?
Assasin
тернарный оператор ?: так работает потому что
Egor
я ожидаю передачу o, но передаётся object()
Владислав
А понял
Assasin
твой пример практически эквивалентен этому:
if (1){
g(o);
} else {
g(object());
}
Egor
и почему else исполняется?
Владислав
Интересно
Владислав
Ты ссылки сравниваешь?
Egor
адреса
Assasin
исполняется не else
Assasin
для результата выполнения оператора ?: объект o копируется
Egor
какой у тебя компилятор?
Egor
а, ну вот
Assasin
g++ (Ubuntu 7.2.0-1ubuntu1~16.04) 7.2.0
Egor
спасибо
Владислав
+
Assasin
вот так нагляднее даже: http://cpp.sh/7g2lij
MrSmith
@zamazan4ik официально от яндекса https://www.youtube.com/watch?v=DkWF2YDy8Ck&t=183s один из лучших разработчиков)
Vladislav
Egor
отбой уже, разобрались
Alexander "SonnySlave"
Saphire
Гм. Где про кепку спросить можно?
Alexander "SonnySlave"
Alexander "SonnySlave"
Статья полезная: https://community.kde.org/Policies/Binary_Compatibility_Issues_With_C%2B%2B