C++ learning resources
- 2022-10-30 Stroustrup: A Tour of C++ Third edition
The 'tour' is a quick (254 pages + index, historical information, etc.) tutorial overview of all of standard C++ (language and standard library) at a moderately high level for people who already know C++ or at least are experienced programmers. It covers C++20 plus a few likely features of C++23.
C++ Interactive tutorials
- 2022-10-03 Input/output with files
- 2022-10-03 Ask HN: Where can I find C++ by Example? Hacker News
my HN question
- https://cppinsights.io/ it's a must so you can investigate what gets generated by templates behind the scenes.
- http://eel.is/c++draft/ bookmark this, you will need it!
These two are very good beginner resources:
C++ Other learning resources
- 2022-10-02 C++ By Example Code Examples with Simple Explanations
- 2022-10-02 My tutorial and take on C++20 coroutines
- 2022-10-02 uhub/awesome-cpp: A curated list of awesome C++ frameworks, libraries and software.
- 2022-10-02 Next Steps C++ Education Google Developers
- 2022-10-02 C++ Examples Programiz
- 2022-10-02 Next Steps C++ Education Google Developers
Google's Introduction to Programming and C++
This online tutorial continues with more advanced concepts - please read Part III. Our focus in this module will be on using pointers, and getting started with objects.
2022-08-08 Learn C++ - Lucky Resistor
A collection of various tutorials, general and oriented on embedded programming
2022-09-26 Rainier-Cyber/C-cheatsheet: A MEMORY DUMP OF C PROGRAMMING, by Sean Eyre @oni49 and Stephen Semmelroth @stephensemmelroth / @diodepack of Rainier Cyber acquired by StrataCore . This document is intended to provide you a quick desk reference for C’s syntax and semantics. We included several example programs that will elaborate on each section in greater detail.
2022-09-26 jwill9999/C-Sharp-Cheatsheet: C# Cheatsheet
2022-09-26 crazyguitar/cppcheatsheet: C/C++ Cheat Sheet
ImTui is an immediate mode text-based user interface library. Supports 256 ANSI colors and mouse/keyboard input.
Functional Terminal (X) User interface
A simple C++ library for terminal based user interfaces!
What it is: a library facilitating complex TUIs on modern terminal emulators, supporting vivid colors, multimedia, threads, and Unicode to the maximum degree possible. Things can be done with Notcurses that simply can't be done with NCURSES. It is furthermore fast as shit. What it is not: a source-compatible X/Open Curses implementation, nor a replacement for NCURSES on existing systems.
2022-11-01 gansm/finalcut: A text-based widget toolkit
FINAL CUT is a C++ class library and widget toolkit with full mouse support for creating a text-based user interface. The library supports the programmer to develop an application for the text console. It allows the simultaneous handling of multiple text windows on the screen. First steps · gansm/finalcut Wiki
TermOx is a Terminal User Interface(TUI) Framework written in C++17. Built on top of Escape, it defines a set of Widgets, Layouts, and Events that make it quick to craft unique user interfaces in the terminal.
- 2022-10-17 C++ Core Guidelines by Bjarne Stroustrup, Herb Sutter
This is a set of core guidelines for modern C++ (currently C++20 and C++17) taking likely future enhancements and ISO Technical Specifications (TSs) into account. The aim is to help C++ programmers to write simpler, more efficient, more maintainable code.
- 2022-10-02 Google C++ Style Guide
Welcome to part 1 of Modern C++ for C Programmers, please see the introduction for the goals and context of this series.
In this part we start with C++ features that you can use to spice up your code ’line by line’, without immediately having to use all 1400 pages of ‘The C++ Programming Language’.
Various code samples discussed here can be found on GitHub.
2022-03-05 Beginner's Guide to Linkers
This article is intended to help C & C++ programmers understand the essentials of what the linker does. I've explained this to a number of colleagues over the years, so I decided it was time to write it down so that it's more widely available.
Primitive obsession is a code smell in which primitive data types are used excessively to represent your data models. The problem with primitives is they are very general. For example, a string could represent a name, an address, or even an ID. Why is this a problem?
2022-10-16 Lippincott Pattern C++
My coworkers at the then-customer were nice and open minded people so they didn't bridle at that, on the contrary, they were eager to change it and asked for advice. I simply said that they should google for the "Lippincot Pattern" and thought the matter were settled.
Fast compile-time regular expressions with support for matching/searching/capturing during compile-time or runtime. You can use the single header version from directory single-header. This header can be regenerated with make single-header. If you are using cmake, you can add this directory as subdirectory and link to target ctre. More info at compile-time.re
- 2022-10-30 sickcodes/Docker-OSX: Run macOS VM in a Docker! Run near native OSX-KVM in Docker! X11 Forwarding! CI/CD for OS X Security Research! Docker mac Containers.
C++ Build tools
- 2022-10-03 Ninja
Ninja is a small build system with a focus on speed
- 2022-10-03 Cmake
CMake is an open-source, cross-platform family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files
C++ profiling tools
C++ and Unicode
- 2022-09-29 c++ - Is there a preprocessor define that is defined if the compiler is MSVC? - Stack Overflow
It's _MSC_VER. More info at MSDN and at predef.
But, be aware that some other compilers may also define it, e.g. Intel's C++ Compiler for Windows also defines _MSC_VER. If this is a concern, use #if _MSC_VER && !__INTEL_COMPILER.
BOOL WINAPI SetConsoleCP(
_In_ UINT wCodePageID
std::cout << "1) ✊\n";
std::cout << "2) ✋\n";
std::cout << "3) ✌️\n";
- 2022-09-29 Debugging – More Modern CMake
Cmake article on debugging
2022-11-05 NDC Conferences - YouTube
Very popular C++ conference with great speakers and talks
2022-11-05 C++ Weekly With Jason Turner - YouTube
Making C++ Fun and Accessible.
2022-11-10 CppNorth - YouTube
Winter is coming!
some advice on writing more strongly-typed code, not only in C++