@ProCxx

Страница 2356 из 2477
Stanislav
18.09.2018
08:20:15
СРАЗУ ВОПРОС! Если по Qt, то в @qt_chat
че сразу туда, я например ембеддед в qt creator пишу

Dmitry
18.09.2018
08:21:06
Потому что я его никогда не использовал, считая бесполезной ерундой. Но тут коллеги программисты убеждают меня, что он няшка и удобный. и это путь боли. "автоматически" и "из коробки" - это я просто не знаю, кто такое мог сказать про кьют. У меня уже и мозг и пердак взорвался от простого действия - скомпилить свежесозданный пустой проект. Как можно с этим жить? Как можно жить, когда мануалов, даже на английском, нормальных нет? Как вообще так получается, что самые крутые разработчики в мире на С++, их нас больше чем любых других разработчиков (по крайней мере, долгое время было), но у нас нет нормального ide! Ведь у с++ разработчиков должен быть самый лучший софт для разработки, разве не так? а самый лучший, ну даже не знаю, даже дэлфи блин лучше в плане ide... Я кодю на плюсах в sublime text и компилю мейкфайлом в командной строке

Igor
18.09.2018
08:22:27
> Я кодю на плюсах в sublime text и компилю мейкфайлом в командной строке всё нормально, ещё чуть-чуть и можно будет вводить животворящий vim

Google
Stanislav
18.09.2018
08:23:09
холивары про иде не сюда

Dmitry
18.09.2018
08:23:23
Stanislav
18.09.2018
08:23:44
Потому что я его никогда не использовал, считая бесполезной ерундой. Но тут коллеги программисты убеждают меня, что он няшка и удобный. и это путь боли. "автоматически" и "из коробки" - это я просто не знаю, кто такое мог сказать про кьют. У меня уже и мозг и пердак взорвался от простого действия - скомпилить свежесозданный пустой проект. Как можно с этим жить? Как можно жить, когда мануалов, даже на английском, нормальных нет? Как вообще так получается, что самые крутые разработчики в мире на С++, их нас больше чем любых других разработчиков (по крайней мере, долгое время было), но у нас нет нормального ide! Ведь у с++ разработчиков должен быть самый лучший софт для разработки, разве не так? а самый лучший, ну даже не знаю, даже дэлфи блин лучше в плане ide... Я кодю на плюсах в sublime text и компилю мейкфайлом в командной строке
но там все ок, какие мануалы тебе нужны? открываешь cmake и вперед

Igor
18.09.2018
08:24:06
> скомпилить свежесозданный пустой проект File - New file or Project - Plain C++ Application - Next - Build system: cmake - Next - Next - Finish - Build all - Hello World!

Ilia
18.09.2018
08:24:53
Потому что я его никогда не использовал, считая бесполезной ерундой. Но тут коллеги программисты убеждают меня, что он няшка и удобный. и это путь боли. "автоматически" и "из коробки" - это я просто не знаю, кто такое мог сказать про кьют. У меня уже и мозг и пердак взорвался от простого действия - скомпилить свежесозданный пустой проект. Как можно с этим жить? Как можно жить, когда мануалов, даже на английском, нормальных нет? Как вообще так получается, что самые крутые разработчики в мире на С++, их нас больше чем любых других разработчиков (по крайней мере, долгое время было), но у нас нет нормального ide! Ведь у с++ разработчиков должен быть самый лучший софт для разработки, разве не так? а самый лучший, ну даже не знаю, даже дэлфи блин лучше в плане ide... Я кодю на плюсах в sublime text и компилю мейкфайлом в командной строке
По моим оценкам, QtCreator -- третья или вторая по мощности IDE для C++, вторая из кроссплатформных. С учётом того, что она ещё и бесплатная, это хороший выбор. Creator немного как бы туповат по своим возможностям, и немного заточен на Qt, но есть возможность работать и с С++ общего плана. Зато работает достаточно стабильно и быстро.

Dmitry
18.09.2018
08:25:40
> скомпилить свежесозданный пустой проект File - New file or Project - Plain C++ Application - Next - Build system: cmake - Next - Next - Finish - Build all - Hello World!
Вначале не было qmake, пришлось чё-то доставлять, потом не было компиляторов, выяснилось, внезапно, что mingw нужен, а потом (теперь) выясняется, что нет каких-то библиотек, видимо, с виндой что-то связанное... И вот я даже не знаю, где их брать

Ilia
18.09.2018
08:25:51
Потому что я его никогда не использовал, считая бесполезной ерундой. Но тут коллеги программисты убеждают меня, что он няшка и удобный. и это путь боли. "автоматически" и "из коробки" - это я просто не знаю, кто такое мог сказать про кьют. У меня уже и мозг и пердак взорвался от простого действия - скомпилить свежесозданный пустой проект. Как можно с этим жить? Как можно жить, когда мануалов, даже на английском, нормальных нет? Как вообще так получается, что самые крутые разработчики в мире на С++, их нас больше чем любых других разработчиков (по крайней мере, долгое время было), но у нас нет нормального ide! Ведь у с++ разработчиков должен быть самый лучший софт для разработки, разве не так? а самый лучший, ну даже не знаю, даже дэлфи блин лучше в плане ide... Я кодю на плюсах в sublime text и компилю мейкфайлом в командной строке
С++ -- самый сложный язык программирования из существующих, так что неудивительно, что IDE хороших мало.

Ilia
18.09.2018
08:26:46
ничем не заточен, кроме пары плагинов
Я имел в виду, что там много функционала , заточенного на Qt, но его можно не использовать.

Google
Stanislav
18.09.2018
08:30:31
@MasterZiv ой все, давай уже не холиварить про ide

Ilia
18.09.2018
08:30:46
Я заткнулся.

Stanislav
18.09.2018
08:32:55
у нас там холивары стынут :)

Александр
18.09.2018
08:35:13
https://godbolt.org/z/AqM9EC VS взбесилась со своими __vectorcall

Stanislav
18.09.2018
08:39:21
https://godbolt.org/z/AqM9EC VS взбесилась со своими __vectorcall
ну тестить на godbolt msvc такое себе :/

там самая первая версия 2017

Igor
18.09.2018
08:39:56
но ведь он проверял на 2015 U3

Александр
18.09.2018
08:40:09
так она и у меня локально не лучше - только помимо cdecl и vectorcall предлагает stdcall/thiscall

Stanislav
18.09.2018
08:42:24
кроме векторколла

Александр
18.09.2018
08:42:53
х32

Stanislav
18.09.2018
08:43:33
ну тогда держись

Александр
18.09.2018
08:45:34
ах ты ж, картинку не дают залить. Короче проверил локально (вчера ничего не работало): 1) интеллисенс говорит "ай-ай-ай, тут 4 возможных каста" (тут должна быть картинка) 2) компилятор.. компилирует. что я делал вчера не так - хз

Evgeniy
18.09.2018
08:51:47
@antoshkka Воркшоп на Corehard'e будет почти такой же как и в прошлый раз?

Antony
18.09.2018
08:53:42
Ага. +/- вещи которые я успел узнать/забыть за пол года

Evgeniy
18.09.2018
08:54:35
Круто. Мне в прошлый раз очень понравилось

Ioann V
18.09.2018
11:06:07
Ребят, а можно ли как то сделать контейнер который будет хранить std::function с одной и той же сигнатурой входных параметров, но при этом с разным return type ?

И чтобы все это хранилось в одном контейнере, и соответственно, пройдясь по нему, можно было б эти функции вызвать ?

У них же сигнатура таже, но возвращаемые значения разные. Я так понимаю, что так нельзя ?

Igor
18.09.2018
11:09:29
нельзя, разве что они все будут обёрнуты какой-то промежуточный void wrapper(T...Args){ actual_func(Args...); }

Google
Ioann V
18.09.2018
11:11:03
thx, но печально, хотя и логично

Ilia
18.09.2018
11:12:39
thx, но печально, хотя и логично
Допустим, это можно было бы сделать... А как ты потом будешь их вызывать?

Ioann V
18.09.2018
11:13:08
Ну а чо там вызывать, в конкретно моем случае - мне нужно просто передать туда параметры

а возвращаемое значение, не нужно. Оно, скорее для удобства.

Ilia
18.09.2018
11:13:30
А получать что ты будешь?

Ioann V
18.09.2018
11:13:43
А мне в том и дело, что получать ничего и не надо

Ilia
18.09.2018
11:14:09
Тогда объявляйте все функции void, и ты у цели...

Alexander
18.09.2018
11:14:17
а что если вот так сделать? std::vector<std::function<std::any(int)>> vec; vec.push_back([](int){ return std::any("azazaza"); }); vec.push_back([](int){ return std::any(42); });

Igor
18.09.2018
11:14:33
а функции уже объявлены в каком-нибудь винапи, и приехали

Alexander
18.09.2018
11:14:39
понимаю, что тоже враппер. но всё же

Alexander
18.09.2018
11:15:10
Ioann V
18.09.2018
11:15:20
Тогда объявляйте все функции void, и ты у цели...
да тут оно скорее для того, чтобы вот есть у тебя функция - которая где то используется и ты бац, чтобы враппер не писать мог ее туда пихнуть

Ilia
18.09.2018
11:15:43
Ну да так и надо, писать враппер-функцию, возвращающую void. Это можно на шаманить на lambdas

Aidar
18.09.2018
11:16:20
С лямбдами ты еще и явно всираешь ретурн велью

А без неявно

Ioann V
18.09.2018
11:17:00
да я понимаю, ИМХО. Все равно телодвижения Ж.

Aidar
18.09.2018
11:17:13
Явное лучше неявного

Google
Ilia
18.09.2018
11:17:26
Жизнь боль, а двигаться полезно

Igor
18.09.2018
11:18:47
да тут оно скорее для того, чтобы вот есть у тебя функция - которая где то используется и ты бац, чтобы враппер не писать мог ее туда пихнуть
template<class Func> function<void(int,float,str)> wrap(Func f) { return [&f](int a,float b,str c) { return f(a,b,c); }; } vec.push_back(wrap(myfunc)); vec.push_back(wrap(anotherfunc)); я таким пользовался, если правильно помню

Aidar
18.09.2018
11:20:00
Какой черт это нужно если есть просто лямбды

Александр
18.09.2018
12:06:11
Если что, std::function вполне может содержать приводимые к хранящемуся типу вызываемые объекты, полное совпадение аргументов и возвращаемого значения не обязательно.

Anatoly
18.09.2018
12:17:32
Комментатор выше предложил сигнатуру с any на случай, если тебе вдруг понадобится результат

Ioann V
18.09.2018
12:18:16
Да, понял. Спасибо - мне скорее, как я и описывал, результат не нужен.

Ilia
18.09.2018
12:26:14
@antoshkka , а magic_get пойдёт на 2015 ой или 2017-ой студии (MSVC)? Я прочитал, что 14ый стандарт нужен, но ВЕСЬ или нет?

Nikita
18.09.2018
12:38:42
Ребят а по стандарту безопасно делать так? std::string_view view; { view = "Example"; } Ну типо есть гарантия того, что "Example" будет жить вне скоупа?

Александр
18.09.2018
12:39:53
Ребят а по стандарту безопасно делать так? std::string_view view; { view = "Example"; } Ну типо есть гарантия того, что "Example" будет жить вне скоупа?
Конечно есть, т.к. это строковый литерал. Иначе все использования строковых литералов были бы UB

Nikita
18.09.2018
12:41:10
Конечно есть, т.к. это строковый литерал. Иначе все использования строковых литералов были бы UB
ну все да не все :) например, если бы вместо string_view был бы string, то там строчка бы просто копировалась

хотя можно забить саморезы наверняка: std::string_view view; { static const char *example = "Example"; view = example; }

Anton
18.09.2018
12:55:04
Anton
18.09.2018
12:57:32
Ребят, а можно ли как то сделать контейнер который будет хранить std::function с одной и той же сигнатурой входных параметров, но при этом с разным return type ?
Нафиг враперы. Складывай в tuple указатели на функции и возьми tuple_foreach, которой передавай визитора. Неплохая имплементация есть тут: https://github.com/ymarkovitch/libpcomn/blob/master/pcommon/pcomn_tuple.h#L87

Antony
18.09.2018
12:59:10
@antoshkka , а magic_get пойдёт на 2015 ой или 2017-ой студии (MSVC)? Я прочитал, что 14ый стандарт нужен, но ВЕСЬ или нет?
На 2017 запускается и работает. Я там CI гоняю https://ci.appveyor.com/project/apolukhin/magic-get/branch/develop#L453

Google
Antony
18.09.2018
13:01:24
да, там у них было печально с шаблонами но может накатили какой-о фикс и теперь работает (сомневаюсь)

Ilia
18.09.2018
13:02:37
Antony
18.09.2018
13:09:21
@zamazan4ik , а ты что скажешь про 2015ую ? (твой ответ выше неоднозначен)
да, там у них было печально с шаблонами и не компилировалось но может накатили какой-о фикс и теперь работает (сомневаюсь)

Страница 2356 из 2477