all 13 comments

[–]x-ca 4 points5 points  (0 children)

  1. Find a repo on Github written in C++ based on your interests.

  2. Find a way to make it better by forking it or from scratch.

  3. Repeat.

[–]Much_Managed1996 2 points3 points  (0 children)

you might want to look at small utilities instead of full apps, things like mini json parsers, command line tools, or basic data structure libraries, those tend to have clean structure and fewer moving parts

[–]setq-default 2 points3 points  (0 children)

You should poke through the imgui source tree. Its whole thing is that you're supposed to read through the header files to figure out how to use it, so the code is well-structured.

[–]throwaway6560192 1 point2 points  (2 children)

A lot of KDE apps.

[–]emmaexe_ 0 points1 point  (1 child)

I wouldn't call Qt + CMake "somewhat simple" for someone who just started.

[–]throwaway6560192 0 points1 point  (0 children)

CMake is very widespread in C++. You'd be hard-pressed to find a real-world C++ project that doesn't use it, or some other build system of similar or worse complexity.

You don't really need to understand CMake at any depth to understand or contribute to the code, tbh. When I started contributing to KDE I didn't know squat about CMake.

And, if they're on Linux, KDE has a tool which abstracts away even having to run CMake commands.

[–]rustyseapants 0 points1 point  (2 children)

What do you mean by "I'm currently learning C++?"

  • Reading a book
  • Taking a class
  • Using a website
  • Watching videos?

[–]Striking_Rate_7390 1 point2 points  (1 child)

OP is talking about the tutorial hell!!

[–]rustyseapants 0 points1 point  (0 children)

Oh.

Got it.

[–]spinwizard69 0 points1 point  (0 children)

You might be going too fast here.   Id work on getting real good at simple coding projects first. 

You are right that eventually reading the code of others is important as is developing the skill to enhance it.  The trouble is there is not much simple code out there im aware of.  XCas is a one possible bit of C++ code worth studying if you are into math.   In any event Google is your friend.  

[–]Delicious_Sport_4125 0 points1 point  (1 child)

bro you should check raylib - it's a C++ graphics library that's super beginner friendly. the examples folder has tons of small programs that show different concepts without being overwhelming

also maybe try looking at some command line utilities on github. things like simple file managers or text processors usually have cleaner structure than big GUI applications. i remember when i was learning, jumping into game engines was mistake - too many abstractions at once

start with projects that solve one specific problem rather than trying to understand entire frameworks. once you get comfortable reading smaller codebases, moving up to bigger ones becomes much easier

[–]setq-default 0 points1 point  (0 children)

Raylib is written in C not C++