r_cpp | Unsorted

Telegram-канал r_cpp - C++ - Reddit

-

Stay up-to-date with everything C++! Content directly fetched from the subreddit just for you. Join our group for discussions : @programminginc Powered by : @r_channels

Subscribe to a channel

C++ - Reddit

Finding a C++ explaining video series

I remember seeing a series of youtube videos, where the guy read trough his project code explaining it. The project was some sort of IDE written in c++. I think the videos were recorded live where viewers could ask questions. He also had some script, that he used at the start of the video to pick a source/header file he will be reading and explaining. I have searched for hours, who could I be thinking about?



https://redd.it/1lxdvca
@r_cpp

Читать полностью…

C++ - Reddit

GCC implemented P3068 "constexpr exception throwing"
https://compiler-explorer.com/z/8f769vrz7

https://redd.it/1lx5p0l
@r_cpp

Читать полностью…

C++ - Reddit

Looking to create a community of dedicated learners...

Hello, im yordan and im looking to form a group of dedicated c++ learners preferably with a c background...


the idea:


we all use the same resources and discuss them in vc/text channels

we show off our projects and do code review so we all learn

we work on projects together


if interested leave a comment with some info and a discord username

https://redd.it/1lwqfk9
@r_cpp

Читать полностью…

C++ - Reddit

learning Cpp from python

Hi everyone,


I need advice on resources and how to learn cpp. I have always coded with python and am pretty good at it, but now for an internship they asked me to learn cpp and start coding in cpp. I have a little more than a month to learn cpp. Does anyone have any suggestions on where and how to start?


I appreciate any help!

https://redd.it/1lwl9mz
@r_cpp

Читать полностью…

C++ - Reddit

Getting Down in the Bits with Boost.Multiprecision
https://www.youtube.com/watch?v=mK4WjpvLj4c

https://redd.it/1lwfv9f
@r_cpp

Читать полностью…

C++ - Reddit

C++26: std::format improvement (Part 1)
https://www.sandordargo.com/blog/2025/07/09/cpp26-format-part-1

https://redd.it/1lw4ndi
@r_cpp

Читать полностью…

C++ - Reddit

When I install an unhandled structured exception filter, why doesn't std::terminate get called?
https://devblogs.microsoft.com/oldnewthing/20250709-00/?p=111360

https://redd.it/1lw4mg0
@r_cpp

Читать полностью…

C++ - Reddit

Can I put module declarations in header files?

Issue: https://github.com/Cvelth/vkfw/issues/19

So a while ago, I added module support to the vkfw library. It works fine for my usage with Clang, but recently (not really, it's been a while) GCC 15 released with module support finally stabilized. However, the way that module support is implemented is that in the header file vkfw.hpp, there is something like:

// ...
#ifdef VKFWMODULEIMPLEMENTATION
export module vkfw;
#endif
// ...

so that the vkfw.cpp file can be just:

module;
#define VKFWMODULEIMPLEMENTATION
#include <vkfw/vkfw.hpp>

However, GCC 15+ rejects compilation with

In file included from .../vkfw-src/include/vkfw/vkfw.cppm:3:
.../vkfw-src/include/vkfw/vkfw.hpp:219:8:
error: module control-line cannot be in included file

However, I can't find anywhere in the spec/cppreference that disallow this. So is this allowed at all, or it's just a GCC limitation?

https://redd.it/1lw2g0d
@r_cpp

Читать полностью…

C++ - Reddit

Roll your own in-game UI with Clay and NanoVG
https://dev.to/linkdd/roll-your-own-in-game-ui-with-clay-and-nanovg-part-2-25pf

https://redd.it/1lvmk7a
@r_cpp

Читать полностью…

C++ - Reddit

Looking for a C++ ECS Game Engine Similar to Bevy in Rust

Hi everyone,

I'm a C++ developer diving into game development, and I'm really impressed by the Entity-Component-System (ECS) architecture of Bevy in Rust. I love how Bevy handles data-driven design, its performance, and its clean API for building games. However, my current project requires me to stick with C++.

Does anyone know of a C++ game engine or library that offers a similar ECS experience to Bevy? Ideally, I'm looking for something with:

A modern, clean ECS implementation
Good performance for real-time applications
Active community or decent documentation
Preferably lightweight and modular, without too much bloat

I've come across engines like EnTT, which seems promising, but I'd love to hear your recommendations or experiences with other C++ ECS libraries or engines. Any suggestions or comparisons to Bevy would be super helpful!

Thanks in advance!

https://redd.it/1lved2o
@r_cpp

Читать полностью…

C++ - Reddit

TIL: pointer to deducing this member function is not a pointer to a member.

I could reword what cppreference says, but I think their example is great so here it is:

struct Y
{
int f(int, int) const&;
int g(this Y const&, int, int);
};

auto pf = &Y::f;
pf(y, 1, 2); // error: pointers to member functions are not callable
(y.pf)(1, 2); // ok
std::invoke(pf, y, 1, 2); // ok

auto pg = &Y::g;
pg(y, 3, 4); // ok
(
y.pg)(3, 4); // error: “pg” is not a pointer to member function
std::invoke(pg, y, 3, 4); // ok

I won't lie I am not so sure I like this, on one hand syntax is nicer, but feels so inconsistent that one kind of member functions gets to use less ugly syntax, while other does not. I guess fixing this for old code could cause some breakages or something... but I wish they made it work for all member functions.

https://redd.it/1lv3q7h
@r_cpp

Читать полностью…

C++ - Reddit

Have C++ and C really changed in 40 years?

I’m a one-time amateur C & C++ programmer. I know the standards get updated every few years, but have things really changed that much?

I guess there is support for multi-threading and now reflection in C++, but are these things just incremental or really radical? Is there really much new since Stroustrup’s 1985 book?

My son is learning C and C++ and I’m wondering how much of the modern stuff really matters.

https://redd.it/1lunhxw
@r_cpp

Читать полностью…

C++ - Reddit

Conan 2.x is less convenient in monorepo setup
https://github.com/conan-io/cmake-conan/issues/700

https://redd.it/1lujeag
@r_cpp

Читать полностью…

C++ - Reddit

Where can I follow std committee timeline?

For example when will C++26 be finalized?
When are the meetings? (It was hard to find anything about last meeting online)

https://redd.it/1lui51v
@r_cpp

Читать полностью…

C++ - Reddit

Tech-ASan: Two-stage check for Address Sanitizer
https://conf.researchr.org/details/internetware-2025/internetware-2025-research-track/38/Tech-ASan-Two-stage-check-for-Address-Sanitizer

https://redd.it/1lubssv
@r_cpp

Читать полностью…

C++ - Reddit

gdb and printing an element of my std::map that have a std::pair as a key

Hey, I am trying to debug some part of my code.

I want to know what's on a specific element of my std::map (lets called it m) container. The key is an std::pair<int,int>. I tried p m[std::make_pair(1,2)]but it says that no symbol "make_pair" in namespace "std" . The code run with no issues, it's just a debugging issue. I also tried some suggestions from our friend gpt but nothing worked.

my goal is to make it work inside of gdb.

I would love to hear your ideas.

EDIT: made the post look more proper, and informed that the code runs with no issues.

https://redd.it/1lx5z15
@r_cpp

Читать полностью…

C++ - Reddit

libc++ now detects invalid use of std::prev

As you may know std::prev is broken in a way that innocent looking code compiles and gives runtime UB.

I wanted to check if this has been fixed recently and some good news. It looks like libc++ shipping with clang 20.1 has static_assert that prevents the code from compiling. gcc trunk(libstdc++) still compiles this code and dies at runtime.

https://godbolt.org/z/rrYbeKEhP

Example of code that used to compile and exhibits runtime UB:


namespace sv = std::views;
int main()
{
std::vector<int> v{0,1,2,3,4,5};

auto t = sv::transform(v, (int i){ return i i; });

for (int x : t)
std::cout << x << ' ';

std::cout <<
std::prev(std::end(t));
}



I do not know all the way in which std::prev can be used wrongly, so I do not claim all uses are detected. And I wish std::prev just worked™ so developers do not need to remember to use std::ranges::prev.

https://redd.it/1lx4phn
@r_cpp

Читать полностью…

C++ - Reddit

Overloading operators new and delete with C++20 modules

I ran into a strange bug with which I need your help. I am writing a kernel in C++20 using modules and in order to be able to fully use classes I need the operator new. Now I can overload it but it fails as soon as I declare the source file as a module (export module xyz;). The errors are as follows:

src/mm/new_delete.cc:6:1: error: declaring ‘void* operator new(long unsigned int)’ in module ‘mm.new_delete’ conflicts with builtin in global module

6 | operator new( unsigned long size ) {

| ^~~~~~~~

src/mm/new_delete.cc: In function ‘void* operator new(long unsigned int)’:

src/mm/new_delete.cc:7:12: warning: ‘operator new’ must not return NULL unless it is declared ‘throw()’ (or ‘-fcheck-new’ is in effect)

7 | return nullptr; // mem::kmalloc( size );

| ^~~~~~~

src/mm/new_delete.cc: At global scope:

src/mm/new_delete.cc:11:1: error: declaring ‘void operator delete(void*)’ in module ‘mm.new_delete’ conflicts with builtin in global module

11 | operator delete( void *ptr ) {

| ^~~~~~~~

make: *** [Makefile:38: objects/mm/new_delete.o] Error 1

If I remove the export module statement then it compiles but of course can't I call my malloc() routine since it resides in a module.

I tried to google but couldn't find anything, seems like c++20 modules are still not widely used. I already use all the compiler flags like nostdinc.
Any help is greatly appreciated!

https://redd.it/1lwqh0e
@r_cpp

Читать полностью…

C++ - Reddit

Developing in Windows environment for Linux in corporate

Hi,
I joined a company some time ago that developed only for Windows, and now does some backend stuff on Linux.

They work with Linux projects in Visual Studio 22 and the developer experience is quite annoying. Lot's of subtle build errors, missing features and configurability that can be easily done with a regular makefile or cmake.

I know that VS offers support for cross platform cmake but their implementation is lacking, it doesn't integrate well with our solution based build and some of their ports of the tools like rsync that they use under the hood are also buggy.

How your company does it? As someone who is used to develop for Linux in Linux, I find working like this really frustrating.

https://redd.it/1lwgh2l
@r_cpp

Читать полностью…

C++ - Reddit

kawa::ecs — C++20 Entity-Component System (ECS) — Looking for Feedback & Testers!

I’ve been working on a lightweight, header-only ECS called kawa::ecs that’s designed to be blazingly fast, minimal, and easy to use with modern C++20 features. If you’re building games, simulations, or AI systems and want a simple yet powerful ECS backbone, this might be worth checking out!

github repo

Quick example:

#include "registry.h"
#include <string>

using namespace kawa::ecs;

struct Position { float x, y; };
struct Velocity { float x, y; };
struct Name { std::string name; };

int main()
{
registry reg(512);

entityid e = reg.entity();
reg.emplace<Position>(e, 0.f, 0.f);
reg.emplace<Velocity>(e, 1.f, 2.f);
reg.emplace<Name>(e, "Bar");

// Simple query
reg.query
(
[](Position& p, Name* n)
{
std::cout << (n ? n->name : "unnamed") << " is at " << p.x << " " << p.y;
}
);

float delta
time = 0.16;
// Parallel query (multi-threaded)
reg.querypar
(
[](float dt, Position& p, Velocity& v)
{
p.x += v.x * dt;
p.y += v.y * dt;
}
, delta
time
);
}

Thanks a lot for checking it out!
I’m excited to hear what you think and help make kawa::ecs even better.

https://redd.it/1lweaa3
@r_cpp

Читать полностью…

C++ - Reddit

The messy reality of SIMD (vector) functions - Johnny's Software Lab
https://johnnysswlab.com/the-messy-reality-of-simd-vector-functions

https://redd.it/1lw4zp3
@r_cpp

Читать полностью…

C++ - Reddit

Why is compile-time programming in C++ so stupid?

Can I vent here about how much compile time programming in C++ infuriates me? The design of this boggles my mind. I don't think you can defend this without coming across as a committee apologist.

Take this for example:

consteval auto foo(auto p) {
constexpr auto v = p; //error: ‘p’ is not a constant expression
return p;
}

int main() {
constexpr auto n = 42;
constexpr auto r = foo(n);
}

This code fails to compile, because (for some reason) function parameters are never treated as constant expressions. Even though they belong to a consteval function which can only ever be called at compile time with constant expressions for the parameters.

Now take this for example:

consteval auto foo(auto p) {
constexpr auto v = p(); //compiles just fine
return p;
}

int main() {
constexpr auto n = 42;
constexpr auto r = foo(&{ return n; });
}

Well. La-di-da. Even though parameter p is not itself considered a constant expression, the compiler will allow it to beget a constant expression through invocation of operator() because the compiler knows darn well that the parameter came from a constant expression even though it refuses to directly treat it as such.

ಠ_ಠ

https://redd.it/1lw4jej
@r_cpp

Читать полностью…

C++ - Reddit

Polymorphism Without virtual in C++: Concepts, Traits, and Ref
eeiaao/polymorphism-without-virtual-in-c-concepts-traits-and-ref-ce9469a63130" rel="nofollow">https://medium.com/@eeiaao/polymorphism-without-virtual-in-c-concepts-traits-and-ref-ce9469a63130

https://redd.it/1lvnfuf
@r_cpp

Читать полностью…

C++ - Reddit

C++ with no classes?
https://pvs-studio.com/en/blog/posts/cpp/1259/

https://redd.it/1lvdvsd
@r_cpp

Читать полностью…

C++ - Reddit

Henrik Fransson: C++ On Time
https://youtu.be/aKyj5ZycnsU

https://redd.it/1lve9od
@r_cpp

Читать полностью…

C++ - Reddit

tgautils now on github

In case anyone else needs to work with ancient Truevision Targa (TGA) image files I resurrected their old MS-DOS tgautils code extracted some of the common read/write code into a library and put it on github:
https://github.com/LegalizeAdulthood/tgautils

I was surprised to see that the file format wasn't really well documented, so I grabbed their specification and converted it to PDF from PostScript; it's in the docs folder.

https://redd.it/1lv02wu
@r_cpp

Читать полностью…

C++ - Reddit

I am looking for a game engine in C++ except unreal engine



https://redd.it/1lulwf0
@r_cpp

Читать полностью…

C++ - Reddit

C++ Day 2025 - Call for sessions

Hi everyone!

This is Marco, founder of the Italian C++ Community.

We are excited to bring back the C++ Day on October 25, 2025, in Pavia, Italy (near Milan). An in-person, community-driven event all about C++.

We’re currently looking for speakers! If you have something interesting to share (technical deep dives, real-world experiences, performance tips, tooling, modern C++, etc) we'd love to hear from you. Talks can be 30 or 50 minutes.

The Call for Sessions is open until Aug 25.

ℹ️ The event is totally free to attend, but we can't cover travel/accommodation costs for speakers.

Whether you're an experienced speaker or it's your first time, don't hesitate to submit!

👉 Link: C++ Day 2025

See you there!

https://redd.it/1lui4k0
@r_cpp

Читать полностью…

C++ - Reddit

Use of .inl files

I've been working on a research project where our codebase is almost all templated classes. In order to better organize the code a bit, I separated declaration and definition into .h and .inl files.

However, recently I've tried integrating clangd into my workflow since I've been using it at work and found it to be a much better autocomplete companion to the standard VSCode C++ extension one. It doesn't work correctly with .inl files though, as they're meant to be included at the end of the .h file itself and so any declaration in the .inl that's used in the .h is missing according to clangd. Of course, including the .h file is not possible as that would be a circular include.

So, 2 questions:

1. Is there a way to get .inl files to play nicely with clangd?
2. If not, how do people organize their code in header-only libraries in a way that autocomplete can still understand?

https://redd.it/1luh718
@r_cpp

Читать полностью…

C++ - Reddit

std::visit should be more user-friendly

**Make** `std::visit` **look and feel like Rust**:

#include <stdio.h>
#include <variant>
template<class ... T>
struct match:T...{using T::operator()...};
void operator>>(auto& v, auto&& f){
  std::visit(std::move(f), v);
}
int main() {
  std::variant<int,const char*>a[]={1,"a"};
  for (auto x : a) x >> match{
    [](auto x) { printf("str: %s\n", x); },
    [](int x) { printf("int: %d\n", x); },
  };
  return 0;
}

https://redd.it/1ltyzxk
@r_cpp

Читать полностью…
Subscribe to a channel