🍌 C++ Feed
305 subscribers
218 photos
12.7K links
Агрегатор всего подряд про C++.

Для связи: @smertig

Powered by https://github.com/Smertig/banana
Download Telegram
C++
Tool for "Go to definition"

Hello, as you know many IDE's/Editors feature a "Go to definition" command that finds the definition of whatever the cursor is currently on. If you have a large and complex program, these tools will/can only work if they know the build process. What tool can you recommend my for "Go to definition". I need one that not only works in most cases, but in all cases(so it needs to know the build process). The build process is a fork of gnu make, but I have a json compilation database that I generated using bear. ​ I basically need the rust language server, but for c++ instead of rust. submitted by /u/Volker_Weissmann
...

Read full post
vector{ true, true, false };
A New Approach to Build-Time Library Configuration

Pain

If you’ve been around the block of C and C++ libraries for more than a brief
glance, you have inevitably seen a tweakme.h or two. Maybe a configure
script with a few dozen command-line flags? Or maybe you’ve been told to pop
open ccmake and flip some switches? Have you ever juggled command-line flags
in a build script three layers deep just to enable/disable some workaround in
some library thats being pulled in as a dependency of a dependency of a
dependency?

Don’t worry. I hear you cry. I too have wrestled with such pains.

What’s the Big Idea?

Why do libraries offer these build-time switches? What do they accomplish?

In the majority of situations, I believe that offering compile-time tweaks are
an antipattern...

Read full post
Bartek's coding blog
How To Stay Sane with Modern C++

C++ grows very fast! For example, the number of pages of the C++ standard went from 879 pages for C++98/03 to 1834 for C++20! Nearly 1000 pages! What’s more, with each revision of C++, we get several dozens of new features. Have a look at my blog post with all C++17 features, it shows 48 items, and my C++20 reference card lists 47 elements! Do you need to learn all of that stuff to write good code? How to stay sane in the C++ world today? Read more...
Modernes C++ - ModernesCpp.com
std::format in C++20

Today, I'm happy to present Peter Gottschling's guest post to the new formatting library in C++20: std::format.  Thanks to std::format, text formatting becomes in C++20 as easy as in Python.
C++ – Типизированный язык программирования
В нативный код из уютного мира Java: приключение туда и обратно (часть 1)

Java и другие управляемые языки просты и удобны во многих случаях, но иногда их возможностей недостаточно — например, если нужна библиотека, написанная только на C или C++. Иногда хочется позвать пару методов из системного API, или попытаться улучшить производительность для модуля — и тогда прямой путь в нативный код.

Но тут возникают подводные камни: написать нативный метод и вызвать библиотеку может быть и легко, но JVM начинает крашиться в случайных местах, производительность падает, сборщик мусора перестает справляться с работой, а в репозитории царствуют бесконечные C-шные файлы с буквами JNI. Что же могло пойти не так?

Иван Углянский (...

Read full post
Abseil Blog & Tips
Abseil Platform Support Update

Abseil Platform Support Update

By Derek Mauro, Abseil Engineer

In September 2017, Abseil made the following support
promise
:


We will support our code for at least 5 years. We will support language
versions, compilers, platforms, and workarounds as needed for 5 years after
their replacement is available, when possible. If it is technically infeasible
(such as support for MSVC before 2015, which has limited C++11 functionality),
those will be noted specifically. After 5 years we will stop support and may
remove workarounds. ABSL_HAVE_THREAD_LOCAL is a good example: the base
language feature works on everything except Xcode prior to Xcode 8 ; once
Xcode 8 is out for 5 years, we will drop that workaround s...

Read full post