I am starting to build up a simple BLE network with a microcontroller and a raspberry pi (tardis BLE dongle). As a starting point, I am looking for a simple C or C++ example to
Bluez (Linux official Bluetooth stack) has moved to DBUS for its API. While in the past, it was 'accepted' to 'fork' bluez code to access BLE support on Linux, now the approach is to use DBUS. Bluez DBUS API is documented here: https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc
Either you directly speak to DBUS for your bluetooth C/C++ application or you use a GATT library as a helper. The second one is probably the best approach for beginner (and also for non-beginner who would prefer to keep their program Bluez agnostic for instance to support other OSes or Bluez pre-DBUS API or to have their sources more readable).
One of these GATT libraries that support modern D-BUS API is gattlib (note: I am the author of this library). Here is a simple example based on this library for reading/writing a BLE device: https://github.com/labapart/gattlib/blob/master/examples/read_write/read_write.c