I
#include <ostream> 'ostream' file not found [Lexical or Preprocessor Issue]
I
вообще борода какая-та
I
жесть непонятная)
Phoenix
Всем привет. Есть кто, кто может помочь с qt?(qlist & colliding items) или любые советы?
Phoenix
ссылку можно на чат или где посмотреть? спасибо
🦥Alex Fails
В пине. Алсо тут тоже можно спрашивать
Anatoly
@qt_chat
Berkus
#include <ostream> 'ostream' file not found [Lexical or Preprocessor Issue]
потому что у тебя libc++ не установлен
Berkus
жесть непонятная)
тогда тебе рановато clang-check юзать
I
я понял. Конфликт инклюдов. shape.h уже есть в системе(
Egor
В эту же кучу можно добавить astyle для форматирования, если clang-format не устраивает своей (не)агрессивностью.
Alexander
Alexander
:)
I
Не могу понять как юзать shared unique pointers. Вот например у меня есть 2 объекта одного класса unique и share и я хочу каждый передать в одну и ту же функцию. Мне нужно перегружать функцию или приводить u, s pointers в raw через get? Вот не могу понять
I
Std::shared_ptr
I
Std:: unique_ptr
Egor
Не могу понять как юзать shared unique pointers. Вот например у меня есть 2 объекта одного класса unique и share и я хочу каждый передать в одну и ту же функцию. Мне нужно перегружать функцию или приводить u, s pointers в raw через get? Вот не могу понять
Зависит от того, что эта функция делает с этим указателем. Она просто на него смотрит и что-то делает? Она его куда-то сохраняет для владения? Какова семантика владения?
Egor
Тогда я бы просто передал по константной ссылке внутренний тип, а при вызове разыменовал.
Egor
Типа так: void foo(const Widget &w); std::shared_ptr<Widget> sw; std::unique_ptr<Widget> uw; foo(*sw); foo(*uw);
Egor
Ну или можно по обычной ссылке принимать.
Egor
Тогда придется через uw.get()?
Нет, зачем? Мы же по ссылке передаём, не по указателю. Просто разыменование звёздочкой: https://ideone.com/TRqfaS
I
Приколюха
I
Понял, спасибо
Egor
Мне нравится, что тут пишут про передачу параметров функциями: https://herbsutter.com/2013/06/05/gotw-91-solution-smart-pointer-parameters/
Egor
Нет
Egor
uw — это std::unique_ptr<Widget>&
Egor
А *uw — это мы вызвали у uw перегруженный унарный operator* (перегруженный, потому что все smart pointer его перегружают)
Egor
И он возвращает Widget&
Egor
http://en.cppreference.com/w/cpp/memory/unique_ptr/operator*
I
И с unique проблем не будет. Он же уникальный, я попробовал передать компилятор ругался что нельзя
Дмитрий
Как создать std::thread в методе класса от метода этого класса? t = std::thread(Test) типо такого?
B
std::thread s([this](){ this->myfunnymethod(); })
Дмитрий
благодарю
Anonymous
std::thread s([this](){ this->myfunnymethod(); })
std::thread s(&Class::myfunnymethod, this); А так разве не работает?
B
если не статический - не должно
B
хотя, не знаю
Дмитрий
нет, я находил, что так тоже будет работать
Дмитрий
даже если не статический метод
Александр
http://zverovich.net/2017/11/05/compile-time-format-strings.html
Vladislav
Неужели есть шанс что у плюсов таки появится мейнстримный пакетник?
Vladislav
:🎉
Nikita
но пакетнику с малой репой ещё много работы предстоит
Egor
Вам разве что в @supapro
Nik
круто
Nik
А они давно буст добавили?
Nik
В прошлый раз я глядел boost::asio, не было
🐙 Antony
У нас то в основном бустовое всё применяется, было бы прикольно научить дебаггер всё это игнорить
Есть готовые настройки, чтобы научить MSVC правильно отображать внутренности Boost https://github.com/KindDragon/CPPDebuggerVisualizers
🐙 Antony
Аналогичное для GDB https://github.com/ruediger/Boost-Pretty-Printer
Nik
В прошлый раз я глядел boost::asio, не было
Погодите, его до сих пор нет!
Nik
https://bintray.com/conan/conan-transit
Nik
No packages match your search.
Nik
ЧЯДНТ?
🐙 Antony
он в кучу кидает это же
std::function и boost::function умеют небольшие функторы хранить без аллокаций. например std::function<void()😠 [this](){} ) не будет аллоцировать
Berkus
Погодите, его до сих пор нет!
asio хедер-онли, просто хедеры возьми
Nik
вопрос не про необходимость поставить асио, вопрос про юзабелньость конана
Berkus
https://bintray.com/conan/conan-transit
госсподи а обязательно 70 версий буста и все старые как говно?
Nik
ставишь буст, там есть asio, что тебе непонятно-то?
непонятно где у конана нормальный буст лежит
Nik
Поиск выдает либо ничего, либо 100500 пакетов без описаний в зависимости от положений звезд на небе
Berkus
непонятно где у конана нормальный буст лежит
вот это я хз, какой-то из них мог бы быть нормальный, если б они все не были ЛЮТО СТАРЫЕ
Nik
https://bintray.com/conan/conan-transit/Boost%3Ainexorgame А, вроде вот 1.64.0
Nik
Вроде не совсем старая
Berkus
текущая 1.65.1, так что старая
🐙 Antony
не прошло и трёх лет, а люди уже считают что "conan - не торт" так как в нём помойка Все хотят пакетный менеджер для С++, но никто не знает как его правльно сделать
Berkus
я буду за lal топить! циско плохого не посоветует
Berkus
к тому же они карго вдохновлялись кек
Berkus
https://bintray.com/bincrafters/public-conan/Boost.Asio%3Abincrafters да, вот у бинкрафтеров всё ок
Макс
Всем привет! Нужен секуномер реализованный в qt. Т.к. новичок, хочу сделать кнопку при нажатии на которую будет вылетать окно со списоком последнйх измерений, что мне использовать или в какую сторону гуглить?
Макс
Спасибочки
Макс
@qt_chat
I
Почему я когда передаю std::make_shared<T>() в push_back вектора в цикле одни и те же участки памяти выделяются?
I
move/r-value о чем-нибудь говорит?
не очень. Я практически не знаю нутрей языка