@ProCxx

Страница 1543 из 2477
Berkus
01.12.2017
21:25:43
в конпайлер флагах есть где-то

Igor
01.12.2017
21:25:44
не находит

Berkus
01.12.2017
21:25:48
да ладно

а если найду?

Google
Igor
01.12.2017
21:26:02
в этом вся и проблема, я бы не спрашивал ?

будет здорово

на 8-ке все нормально было

куча настроек clang, а в 9 не могу найти где это теперь

поиск в help'е ничего не дал

Berkus
01.12.2017
21:29:36


C++ Language Dialect это оно

Igor
01.12.2017
21:31:12
кажется разобрался, я в схеме искал =//

спасибо

Berkus
01.12.2017
21:35:16
да в build settings проекта оно всегда и было

Igor
01.12.2017
21:36:14
что-то значит затупил, просто нажал на корень проекта и появилось то что надо

Baruch
01.12.2017
21:39:32
все видели статейку про Conan на хабре?

https://habrahabr.ru/post/342982/

Google
Anatoly
01.12.2017
21:42:13
Да, автор оставлял уже ссылку :) Он как раз тебя просил похлопотать о поддержке Conan в CLion, и тебе огромное спасибо, что продвинул эту тему.

Roman
01.12.2017
21:51:55
A ? B : C При истинном A, все равно значение C может быть вычисленно же?
можно даже так написать a = b ? : c; В этом случае b будет вычеслино только один раз, и если оно не ноль присвоено переменной а, иначе будет вычесленно це. Поправте меня если не прв

https://habrahabr.ru/post/342982/
это тоже самое что pkg-config ?

Berkus
01.12.2017
21:56:05
читать-то не умеем?

Roman
01.12.2017
21:56:54
Berkus
01.12.2017
21:57:08
и не читай

Roman
01.12.2017
21:58:14
и не читай
росскажи в кратце , для чего он ?

Berkus
01.12.2017
22:00:29
для установки пакетов для сборки

Roman
01.12.2017
22:03:31
Элвис оператор это гнутые расширения, в стандарте его нет
да, подсмотрел это в руководстве по гцц

Vladislav
01.12.2017
22:13:23
Alexander
02.12.2017
00:15:58
https://www.iso.org/standard/68564.html

http://cppcast.com/2017/11/victor-ciura/

https://github.com/bincrafters/conan-vs-extension

Stanislav
02.12.2017
06:10:00
https://github.com/bincrafters/conan-vs-extension
мне кажется ты конан пиарешь сильнее чем бинкрафтеры)

Александр
02.12.2017
06:10:41
?

Александр
02.12.2017
06:41:20
даже в 1с есть в виде ?(condition, true, else)
Не путайте тернарный и Элвиса

Igor
02.12.2017
07:21:16
Окей, тогда, последняя написанная аннотация: Аннотация на доклад с конференции Corehard 2017 о пакетных менеджерах в С++, а также небольшая подборка материалов по теме continuous integration. » Преамбула. От себя: Пакетный менеджер - очень нужная штука в более менее большом проекте, с ее помощью можно прописать зависимости вашего проекта от других. При необходимости она автоматически качает нужны версии зависимостей (библиотек) и компилирует их как вам надо. Поработав какое-то время Java-программистом (и попробовав maven и gradle) я искал что-то подобное в 2014 году. Не нашел. Но вот теперь все это уже есть. » Содержание доклада с таймингом: {первые 2 минуты пропустите} 2:00 - рассказывается про пакетные менеджеры для других языков; 2:30 - что обычно позволяет менеджер пакетов. 4:50 - что умеет Maven в Java (в частности можно описать зависимости, которые можно привязать к тестам). 6:44 - небольшая история (смешная) о поиске менеджера пакетов в С++. 8:24 - список менеджеров для С++. 8:36 - требования к пакетному менеджеру (на их основе дальше идет сравнение). 9:44 - список "плохих" менеджеров (со списком недостатков) - nuget, vcpkg, Qpm, pacm, cget, cppget); 10:25 - список "хороших менеджеров" со списком особенностей - cpm, conan, hunter. 10:48 - особенности cpm, установка boost и подключение к проекту, описание проблем и того, почему cpm оказался не таким уж хорошим. 13:30 - особенности conan, установка boost, openssl. 16:16 - конструкция conan (что где лежит, как хранится). 17:25 - особенности hunter, установка boost, небольшие "проблемы" с установкой boost+thread+chrono+... - отличается от conan процессом компиляции скачанных библиотек, качает исходники и собирает все. 21.25 - добавление зависимости вашего проекта от boost+openssl. 21:40 - конструкция hunter (структура каталогов и т.п.) 23.10 - итоги (они выбрали hunter, хотя conan тоже хорош) 24.00 - вопросы: что если в системе несколько компиляторов и надо собирать под каждый из них? (ответ для hunter) 25:40 - нужен ли в С++ вообще такой менеджер пакетов как в руби и т.п. (филосовский вопрос, длинный ответ). 29:20 - что если пакеты надо использовать с патчами, собирать с флагами? (ответ для hunter). » Ссылка на видео: https://www.youtube.com/watch?v=Q7uR-4L7pVk&list=PLgsLnJ-wgYTZRDRK3jrSOoarFg0ART6Ea&index=9 » Дополнение. От себя. По смежной теме стоит посмотреть и другие видео (ниже ссылки на развернутые аннотации): 1) доклад про travis.ci (а также conan и немного про docker): https://vk.com/wall-105242702_557 2) доаклад про обеспечение качества кода (про conan тоже есть, но также про статическую првоерку кода, ревью и т.п.): https://vk.com/wall-105242702_495 3) подробный разбор Conan: https://vk.com/wall-105242702_459
о) у меня есть табличка непросмотренного, просмотренного, и вкратце о чем было просмотренное, но это на пару голов выше и детальнее)

Vladimir
02.12.2017
07:23:19
о) у меня есть табличка непросмотренного, просмотренного, и вкратце о чем было просмотренное, но это на пару голов выше и детальнее)
Я вместо таблички завел группу в вк, где и пишу аннотации на видосы и статьи. Оказалось, что это кому-то интересно :)

Google
Vladimir
02.12.2017
07:24:36
Тогда еще одна "аннотация" (из старых, если кто-то уже читал это - прошу простить меня): Понравилась заметка на habrahabr по декларативному программированию в С++: https://habrahabr.ru/post/270545/. (загляните в конец аннотации). 1) В статье говорится, что использовать напрямую try-catch - не очень хорошая идея, т.к. код будет нечитабельным (об этом же можно узнать почитав другие статьи по теме RAII-классов). 2) в статье описывается решение (уже лежит в boost 10 лет, но сейчас об этом говорят на конференциях по С++ достаточно много). Схематично показано как это решение внутри устроено - это особенно понравилось. 3) Дополнение (содержит мое личное мнение и с автором статьи не связано). Что касается примера из статьи - я бы (хотя кто я такой?) заменил его на что-то типа int *a = new int[25]; int *b = new int[25]; Проблема примера точно такая же как и в примере из статьи (но такой код гигабайтами пишут студенты и поэтому им будет понятно о чем речь) - оператор new может выкинуть исключение. Если bad_alloc вылетит при первом new - то утечки не будет, а при втором - будет. Решение проблемы очевидно - использовать RAII классы, например вектор. Если объект создается на стеке и если будет выработано исключение - стек "разматывается" и для таких объектов вызываются деструкторы. vector<int> a; vector<int> b; Тут утечки не будет. В стандартной библиотеке С++ есть куча готовых классов, поддерживающих идиому RAII - fstream сам закроет файл, unique_ptr (и все прочие умные указатели) сам освободит память при выходе из функции (в т.ч. по исключению) и т.п. Очевидно, что RAII работает прекрасно и про это можно прочитать: + Идиома RAII. Объекты управления ресурсами в C++: https://pro-prof.com/forums/topic/resources-control-o.. + Умный указатель unique_ptr: https://pro-prof.com/forums/topic/cplusplus-unique_pt.. 4) Ну а что же делать, если при возникновении исключения надо выполнять какие-то нестандартные действия? (Еще одна проблема) - не городить же каждый раз RAII-класс? На самом деле, пример когда это нужно привести не так просто, в примере из статьи проблема могла бы быть решена использованием std::string (тоже RAII класс). Но допустим, такая ситуация возникает. В качестве решения Александреску предложил идиому Scope Guard. Boost реализует ее и предлагает использовать макросы типа SCOPE_FAIL, которые создают на стеке анонимную переменную, для которой будет вызван деструктор при возникновении исключения. Ну и к этой переменной привязывают лямбду, которая и будет вызвана в деструкторе. Решение в бусте чуть сложнее, т.к. деструктор проверяет причины возникновения исключения (наша лямбда вызывается не во всех случаях). Некоторые детали реализации можно найти по ссылке.

Alexander
02.12.2017
08:01:48
мне кажется ты конан пиарешь сильнее чем бинкрафтеры)
есть такое. Ты даже ещё не обо всех проявлениях знаешь) Мне нравится эта штука. И я её пиарю. Всё просто

Matwey
02.12.2017
10:02:47
Господа

Я сейчас в gdb слуйчано распечатал std::unordered_set через команду print

И от увиденного стал молиться Господу нашему

Нет где-нибудь скриптов каких-нибудь чтобы по человечески выдавало?

Berkus
02.12.2017
10:03:30
есть для lldb скрипты на питоне

которые выводят все как положено

в новом свежем ллдб кажется это даже встроили внутрь

полуркай

Alex Фэils?︙
02.12.2017
10:16:27
Вкрутили бы натвис

Alex Фэils?︙
02.12.2017
10:16:43
Или что-то подобное

Stanislav
02.12.2017
10:26:47
даже cdb умеет вроде, либо это хелпер qt creator

Matwey
02.12.2017
10:28:44
Мне кажется у меня несвежий gdb

8.0.1

какой там нынче положено иметь?

Ох, как я сейчас красиво отсосал - забыл виртуальный деструктор определить. :)

Alexander
02.12.2017
10:29:39
Google
Matwey
02.12.2017
10:29:56
Пол часа искал почему объекты не удаляются

vyacheslav@deepin:~$
02.12.2017
10:30:07
пол часа не пол месяца

Matwey
02.12.2017
10:32:51
Ну плюсы не для слабых духом

vyacheslav@deepin:~$
02.12.2017
10:41:52
бесспорно

Mark
02.12.2017
10:48:45
привет почему у меня в програме вибивает такое число 1.43678e+06 как его можна перевести в 10 систему?

vyacheslav@deepin:~$
02.12.2017
10:49:27
оно в десятичной системе

Admin
ERROR: S client not available

vyacheslav@deepin:~$
02.12.2017
10:49:41
у тебя на чистом С прога?

для cout точность выстави

Mark
02.12.2017
10:50:08
que.exec("SELECT SUM(ticket_price) FROM "+train_name + "_people"); if(que.next()) max_possible_income = que.value(0).toDouble();

qt с бази даних беру суму

Berkus
02.12.2017
10:50:28
vyacheslav@deepin:~$
02.12.2017
10:50:57
Mark
02.12.2017
10:52:24
max_possible_income = que.value(0).toLongLong();

буру так но не паше

vyacheslav@deepin:~$
02.12.2017
10:52:53
а у поля в БД какой тип?

и какая размерность

Berkus
02.12.2017
10:53:40
буру так но не паше
"не паше" в чем выражается?

Mark
02.12.2017
10:54:13
дальше ето число 1.43678e+06

Berkus
02.12.2017
10:54:18
max_possible_income должен быть long long

Google
Berkus
02.12.2017
10:54:22
а не double

vyacheslav@deepin:~$
02.12.2017
10:54:32
а где ты наблюдаешь это число?

куда выводится?

Roman
02.12.2017
11:14:31
Egor
02.12.2017
11:15:14
что за Элвис ?
foo ?: bar — примерно эквивалентно foo ? foo : bar, только foo вычисляется ровно один раз https://en.wikipedia.org/wiki/Elvis_operator

Есть в некоторых языках

Egor
02.12.2017
11:16:06
Вполне возможно, да

Matwey
02.12.2017
11:19:07
А теперь внимание вопрос

Сделает ли оптимизатор из тернарного оператора такую штуку сам при условии что в foo не вызывается функций или чего-то такого

?

Egor
02.12.2017
11:20:52
Сможет ли оптимизатор не вычислять одно и то же сложное выражение два раза при условии отсутствия побочных эффектов? Вполне может справиться.

Vladislav
02.12.2017
11:39:46
Не путайте тернарный и Элвиса
элвис внезапно перестал быть вариантом тернарного что ли?

Александр
02.12.2017
11:40:11
и нет, он не является "вариантом" тернарного

Vladislav
02.12.2017
11:40:51
не стандартный вариант - тоже вариант

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