Vlad
мы использовали mersenne-twister (mt19937)
Vlad
смешно ))
Vlad
нет конечно ))
Evgenii
Предложи проект для проверки анализатором PVS-Studio: теперь и на GitHub https://habrahabr.ru/post/321438/ Tags: Open source, Блог компании PVS-Studio, open source, static code analysis, pvs-studio, github, c++, c, c# Author SvyatoslavMC on #habrahabr
Alexander
что думаете ?
Alexander
писать constexpr const char * null_string = "(null)"; это нормально ? я про constexpr const.
Vlad
ну разве только для ясности
Vlad
достаточно вообще constexpr char*
Vlad
но я предпочитаю напр constexpr const char*, так понятнее - глаз сразу ловит конструкцию
Vlad
в C++17 будет std::string_view
Vlad
будете писать constexpr std::string_view null_string{ "(null)" };
Alexander
достаточно вообще constexpr char*
так компилятор предупреждение выдает, поэтому и спросил
Vlad
А почему не string?
constexpr string не может быть
Alexander
А почему не string?
только литералы можно в constexpr
Stanislav
constexpr string не может быть
ну можно и свой стринг написать который констекспр будет)
Evgenii
Тогда auto
Vlad
ну или так
Alexander
какое предупреждение?
warning: ISO C++ forbids converting a string constant to 'char*'
Vlad
warning: ISO C++ forbids converting a string constant to 'char*'
а какой у тебя компилятор? хочу проверить тоже
Vlad
c_str что?
Dumitru
c_str что?
это вернет char*
Vlad
это вернет char*
а зачем это в данном контексте?
Vlad
даже не знаю где его щас найти )
Alexander
на g++ 7.0 такое же предепреждение
Vlad
ой да я был не прав
Vlad
всё правильно
Vlad
надо писать constexpr const char*
Stanislav
это вернет char*
с_str() - const char* возвращает
Vlad
т.е. constexpr char* == constexpr char* const
Vlad
а constexpr const char* == constexpr const char* const
Vlad
первый менять нельзя (содержимое)
Stanislav
const char * const :)
Anonymous
Где?
Al
Менять данные по указателю нельзя
Al
А в const char* const и указатель не сменить
Al
const char* str="some"; *(str+0) = 'q' - error
Al
Нельзя использовать как lvalue
mefest
а тут тоже не любят Qt?
Vlad
а где не любят?
mefest
мне говорили тру с++ не любят Qt
Vlad
наверно потому что не осилили )
Suigintou45
тру с. не ++
Anonymous
)))
Dmitry
мне говорили тру с++ не любят Qt
А разве есть такие же адекватные комплексные фреймворки?
Vlad
ну в Qt конечно бесит их промежуточный moc
Vlad
но в целом без него понятно не обойтись
Al
Обойтись я думаю, если не использовать куобджект.
Al
Хотя это будет обычный c++
Suigintou45
и старый синтаксис сигнал-слотов выкинуть
Vlad
плоховато интегрируется в среды кроме Qt, помню постоянно слетало что-то
Stanislav
Можно ж нинзю генерить
больше генераторов богу генераторов лол
Шаурма
define среды кроме Qt
Stanislav
https://github.com/woboq/verdigris
Stanislav
на студии только не работает
Al
https://github.com/woboq/verdigris
И он сгенерирует нормальные вызовы для сигналов?
Dmitry
и старый синтаксис сигнал-слотов выкинуть
Да не особо от задания обычных колбэков и отличается
Al
Неудобно с телефона код смотреть
Stanislav
https://woboq.com/blog/verdigris-qt-without-moc.html
Stanislav
вот почитай тут
Stanislav
I built the Qt benchmarks for testing connecting and emitting of Qt signals. There is no difference between Verdigris or the normal Qt. As expected since the QMetaObject structure is the same and the moc generated code is equivalent to the templated code.
Al
Ок. СПС.
Stanislav
Suigintou45
обратная совместимость
Evgenii
А есть сервис типа трависа, только чтобы бенчмарк гонять вместо тестов? Для regression testing?
Dumitru
на том же трависе
Evgenii
Гарантий по железу нет
Dumitru
тогда gitlab + свой сервер