@TWT

Тег C++17 в блоге TWT

TWT

Вопрос одновременно к magog и к qnikst про applicative в С++17
В личкрафтах есть src/util/sll/applicative.h
А я создаю класс Color, конструктор которого принимает три uint8_t R, G, B
А в main у меня нет трёх байтов, у меня вместо этого три std::optional<uint8_t> R, G, B
Вопрос: как мне применить applicative так, чтоб если все три значения нормик то сконструировался бы инстанс класса Color, а если хотя бы один std::optional<uint8_t> пустой, то мне б вместо инстанса класса Color отдало пустоту в std::optional<Color>?

Дедфуда не спрашиваю по очевидным причинам: он пидор и я не понимаю его языка.

TWT

llvm/ADT/STLExtras.h:818:6: предупреждение:
mangled name for «bool llvm::all_of(...) [with ... throw ()]»
will change in C++17 because the exception specification is part of a function type [-Wnoexcept-type]

C++17 придёт, порядок наведёт.

Вернее, C++17 пришёл, порядок уже тут.

Ну вот и хорошо

TWT
TWT
TWT
1516890397: Started emerge on: янв 25, 2018 17:26:36
1516890397:  *** emerge --oneshot --autounmask=n --quiet-build=n gcc
1516890405:  >>> emerge (1 of 1) sys-devel/gcc-7.3.0 to /
1516890405:  === (1 of 1) Cleaning (sys-devel/gcc-7.3.0::/usr/local/portage/sys-devel/gcc/gcc-7.3.0.ebuild)
1516890405:  === (1 of 1) Compiling/Merging (sys-devel/gcc-7.3.0::/usr/local/portage/sys-devel/gcc/gcc-7.3.0.ebuild)

Спасибо ребятам, которые этот день приближали как могли!

TWT

Знаете, есть такие люди в мире С++, которые боятся вызовов виртуальных функций.
Их в детстве ударили по башке учебником по Си и они думают, что их проект будет безбожно тормозить.
Они думают, что каждое слово слово virtual замедляет программу на 5%
Я думаю, что именно такие люди сделали gtk

TWT

Какой из вариантов вам больше нравится?
1) когда шланг говорит
default constructor of 'Q' is implicitly deleted because field 'm' has no default constructor
2) когда гцц говорит
«Q::Q()» is implicitly deleted because the default definition would be ill-formed

TWT

Подборка ссылок на С++ от питон-программиста:

performance tools
Linux perf for Qt developers - Milian Wolff - QtCon 2016
Processor Counter Monitor (PCM)
http://www.brendangregg.com/linuxperf.html
http://www.brendangregg.com/perf.html
http://sandsoftwaresound.ne...-tutorial-hot-spots/
http://sandsoftwaresound.ne...tut-count-hw-events/
http://sandsoftwaresound.ne...t-profile-hw-events/
Hotspot - the Linux perf GUI for performance analysis
https://github.com/KDAB/hotspot

Sanitizers (AddressSanitizer, ThreadSanitizer, MemorySanitizer, more):
american fuzzy lop (afl-fuzz)
https://github.com/google/sanitizers
https://github.com/google/sanitizers/wiki
C++ Weekly - Ep 84 - C++ Sanitizers
Address and Thread Sanitizers in GCC
https://oscarforner.com/201.../13/Clang_sanitizers
C++ Weekly - Ep 85 - Fuzz Testing
"Modern fuzzing of C/C++ Projects" workshop
Fuzz Smarter Not Harder: An afl-fuzz Primer
libFuzzer – a library for coverage-guided fuzz testing
http://tutorial.libFuzzer.info
RamFuzz - A fuzzer for individual method parameters
Materials from Fuzzing With AFL workshop
CppCon 2017: Kostya Serebryany “Fuzz or lose”
https://github.com/CppCon/C...r/Demos/Fuzz Or Lose

Static analysis:
Compilers - warning options
Useful GCC warning options not enabled by -Wall -Wextra
Clang Static Analyzer
clang-tidy
CodeChecker: an analyzer tooling, defect database and viewer extension for the Clang Static Analyzer and Clang Tidy
http://btorpey.github.io/bl...016/04/07/mo-static/
http://btorpey.github.io/bl...1/12/even-mo-static/
http://btorpey.github.io/bl.../09/17/lotso-static/
Cppcheck: A tool for static C/C++ code analysis

TWT
TWT

As a C and C++ software developer, Anastasia Kazakova created real-time *nix-based systems and pushed them to production for 8 years. She has a passion for networking algorithms and embedded programming and believes in good tooling. With all her love for C++, she is now the Product Marketing Manager on the JetBrains CLion team. Besides, Anastasia runs a C++ user group in Saint-Petersburg, Russia

TWT

Я помню, что 0xd34df00d интересовался Pattern Matching in C++17

TWT

Присмотрись и ты увидишь for(const auto&

TWT

C++17 принёс множество маленьких улучшений, и одно из них — модуль std::filesystem. Он лучше, чем boost::filesystem:

  • в C++17 решена проблема 2038 года, а в boost::filesystem не решена
TWT
TWT
TWT

Надеюсь, авторы PVS-Studio учтут std::nothrow в своей V668

TWT

TWT

Прочитал #ojkju про раскраску stderr в красное.
Думаю я программист же, щас возьму поправлю Konsole
Начал в исходники смотреть, открыл в Qt Creator
НЕ МОГУ НАЙТИ НИ stdout НИ stderr

TWT
1493901123: Started emerge on: май 04, 2017 15:32:02
1493901123:  *** emerge --oneshot --autounmask=n --quiet-build=n gcc
1493901146:  >>> emerge (1 of 1) sys-devel/gcc-7.1.0 to /
1493901146:  === (1 of 1) Cleaning (sys-devel/gcc-7.1.0::/usr/local/portage/sys-devel/gcc/gcc-7.1.0.ebuild)
1493901147:  === (1 of 1) Compiling/Merging (sys-devel/gcc-7.1.0::/usr/local/portage/sys-devel/gcc/gcc-7.1.0.ebuild)

Спасибо ребятам, которые этот день приближали как могли!

TWT

Возрадуемся, братья и сёстры!
Перед самым Первомаем омрачало прошедший праздник лишь одно: отсутствие ебилдов на свежий gcc-7.1
После самого Первомая наши лица как коробки - появились два бага про gcc-7
один называется sys-devel/gcc-7.9999 live ebuild
второй называется Version bump =sys-devel/gcc-7.0.1
глядишь вот-вот дело сдвинется с мёртвой точечки.

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.