Skip to content

Latest commit

 

History

History
517 lines (388 loc) · 50.7 KB

File metadata and controls

517 lines (388 loc) · 50.7 KB

drawing

Let's learn about C++ via these 125 free blog posts. They are ordered by HackerNoon reader engagement data. Visit the /Learn or LearnRepo.com to find the most read blog posts about any technology.

C++ is a powerful, high-performance, general-purpose programming language that supports object-oriented, generic, and imperative programming. It is widely used in systems programming, game development, embedded systems, and applications requiring maximum performance and control over hardware resources.

Technologies that can replace C++ in the near of far future are not compilers. They are Spiral, Numba, and ForwardCom.

If you’ve adopted Linux, chances are you might have done so for development purposes. After all, it has everything you need to program in most languages, and do so for (almost) free.

Learn C++ performance optimization: data structures, memory management, loops, and more. Boost your code's speed and efficiency!

All data in computer is represented in binary i.e. in 0 or 1. Computers or machines do not understand our languages, they understand bits. Generally programmer do not care about operations at the bit level. But sometimes a programmer has to dive in a deeper level and work on bits.

So you want to learn more about game engines and write one yourself? That's awesome! To help you on your journey, here are some recommendations of C++ libraries

This tutorial will demonstrate how to set up VSCode for compiling and debugging C++ in a way that causes it to trigger a makefile target compilation each time.

We all know that Data structures and Algorithms are the backbone of every concept we use. There are many concepts involved in Data structures and algorithms (for the sake of convenience, I'll use DSA). There will be many questions for a beginner like how to start learning DSA, as there are many concepts involved and he/she might get confused at the start. In this post, we are going to see a roadmap for learning DSA, which worked out for my friends. I am not saying that this is the perfect roadmap for DSA. You can use your own plans also but this is just an idea. So let's get started.

Building mobile applications can be tasking sometimes. In this article, we will share a few steps you can take to build your first app using a free IDE.

A story of how a final year student with lofty credentials joined our small team.

Simple Mail Transfer Protocol (SMTP) is a widely used protocol for the delivery of emails between TCP/IP systems and users.

I know, it’s been a while since the last time I published something newbies-friendly on my blog. The main reason is that most of my readers are either experienced devs or from C background having modest C++ encounter. But while programming in C++ you need a completely different mindset as both C & C++ belongs to different programming paradigm. And I always strive to show them a better way of doing things in C++. Anyway, I found the topic which is lengthy, reasonably complex(at least it was for me), newbies-friendly as well as energizing for experienced folks(if Modern C++ jargons, rules & features added) i.e. C++ Template.

In this story you will find the most entertaining aspects of C and C++ programming.

Discover the causes of the "No Instance of Overloaded Function Matches the Argument List" error in C++ programming and its appropriate solutions.

Everyone is saying that programming languages are similar, but just how similar? Does it mean that if you know one programming language you know all the others?

How to Compile C/C++ Code in VS Code (Windows): To compile C/C++ code we need GCC/G++ to compile the code but Windows doesn't have a terminal.

Trying to compile a .cu file is not supported in the VS Code natively. This can be a issue if you want to compile and debug (atleast the CPU part of the file as kernel debugging is not supported in VS Code at the moment).

wasm,opengl,cpp,c++,html

How to Master Data Structures and Algorithms and Leetcode and Codeforces Contests for Beginners.

#include <bits/stdc++.h> is not a C++ standard header. Using it is bad coding practice. In this article the reasons why this header should be avoided are shared

This is a 5 minutes tutorial how-to-use Oat++ (AKA oatpp) web framework to build your own C++ performant web-service and integrate it with Swagger-UI.

I recall going to a four-round interview and being asked "What is the best line of code you've ever written?".

The answer to "What exactly nullptr is in C++?" would be a piece of cake for experienced C++ eyes & for those who are aware of Modern C++ i.e. keyword. But nullptr is more than just a keyword in C++ & to explain that, I have written this article. But before jump-into it, we will see issues with NULL & then we'll dive into the unsophisticated implementation of  nullptr & some use-cases of nullptr.

This is the article I wish I had read when I started coding. I will dive deep into 20 problem-solving techniques that you must know to excel at your next interview.

5 methods for C++ text formatting, inlcuding streams, printf, {fmt}, Boost.Format, custom functions. Pros, cons, and best practices.

In this comprehensive guide, we'll explore practical insights, real-world examples, and actionable tips to help you navigate this crucial choice...

Being able to make software applications relies on the ability to understand which language to use for which task. C++ is useful in making complex software.

My best practice from making a real-time high loaded performance application on .NET platform

How to get Bazel and Emscripten to compile C++ to WebAssembly or JavaScript

Learn how to embed a simple SHA-256 implementation on C-language in KMM library and use it for iOS andAndroid target platforms.

C# and Python are two of the most popular languages with C# being widely used in business applications, while Python is more flexible and easier to learn.

Dynamic polymorphism is a fundamental concept in programming, allowing objects to be treated as instances of their parent class instead of the actual class.

Discover how to leverage templates and constexpr in modern C++ for faster, safer compile-time calculations. Uncover practical tips, pitfalls, and best practices

A journey from a web developer to a drone maker, with all of the problems and solutions that come with making a drone using a Raspberry Pi and ESP32.

Virtual functions are normal C++ methods with virtual keyword. Checkout the working and implementation of these methods in this blog.

Update: you can watch a video on Graph Representation in C++ here:

Learn how to efficiently bridge .NET (C#) and native C++ using P/Invoke and C++/CLI, with benchmarks and real-world integration tips.

Modern C++20 chrono library usage in quantitative finance for fixed income securities pricing

From C++11, std::tuple is an incredible expansion to Modern C++, that offers a fixed-size col­lec­tion of het­ero­ge­neous values. Un­for­tu­nately, tu­ples can be somewhat dubious to manage in a conventional fash­ion. But, subsequently released C++ stan­dard in­tro­duced a few fea­tures & helpers that greatly re­duce the nec­es­sary boil­er­plate. So, in this article, I will explain the variadic template in C++ with the help of unsophisticated tuple implementation. And also walks you through a tricky part of tuple i.e. loop through tuple element. In spite of the fact that I have shrouded the variadic template in my prior article i.e. C++ Template: A Quick UpToDate Look. So, my focus here would be a blend of variadic template & tuple implementation with more up to date C++ gauges.

In this article, we look at solutions for embedded systems running on Linux/Unix, Windows, and Android.

The Rust programming language is an ambitious project of the Mozilla Foundation – a language that claims to be the next step in evolution of C and C++. Over the years of existence of these languages some of their basic flaws still haven’t been fixed, like segmentation errors, manual memory control, risks of memory leaks and unpredictable compiler behavior. Rust was created to solve these problems while improving security and performance along the way.

Welcome back to our series about creating a reminder application in C++Builder! 

The problem of determining whether a graph is bipartite or not is important in interviews, and it also helps in solving real-life problems

I found the sign '++ and — — ' in C++ confusing for many beginners, So let’s explain what’s actually they mean,

C++ was not supposed to come back.

Inheritance is one of the most used method for code reuse. Object Oriented Languages strive on the inheritance to collect the common functionality in a base class.

Liskov’s Substitution Principle | SOLID as a Rock

C was developed and promoted by Dennis Ritchie in the years between 1969 and 1973 at AT&T Bell Labs. C++ came into existence around 1979 by Bjarne Stroustrup. C++ was created as an enrichment to the C programming language, and initially, it was named "C with Classes."

Water your plants, get alarms, and analyze the data

Thoughtworks’ Technology Radar is a regular time to take a look at what trends are changing our industry.

Manticore Search is a faster alternative to Elasticsearch written in C++ with a 21-year history

Why C++ math functions can be slow and how to fix them

C++ was initially intended to extend the C programming language with features that make object-oriented programming easier.

Software design is difficult. One has to design features to fit past and future code. C++ Temporary lifetime extension can teach us a lesson about such design.

Top 10 Programming Languages - 1: Python, 2: JavaScript, 3: Java, 4: C#, 5: C, 6: C++, 7: Go, 8: PHP, 9: Perl, 10: Swift...

You probably have heard of the idea of out-of-order execution, and that it breaks some common-sense assumptions about writing programs, and software has to insert barriers to make things right. That was a baffling concept to me at least when I heard of it. At the very least, why would the hardware want to execute out of order only to have the software correct the behavior back? What's the point? Is the software taking care of all the quirks for me? And if not, where's the catch?

How serverless is fulfilling the original promise of cloud.

By the end of this short guide, you’d be able to run, debug, and get IntelliSense for C/C++ files in VSCode

In the era of non-stop personal development, more and more software engineers choose to become competent in the second or even the third programming language to gain more experience and access more career opportunities. If you are a C++ developer who’s looking for a second programming language to master, it makes sense to add Java to your skills cloud. Next, I will explain to you how long it takes to learn Java for C++ programmers and why you should go for it.

We had a great talk with Bjarne Stroustrup, the designer and original implementer of C++.

Out of all these languages, my go-to language is C++

Template parameter pack was introduced in C++11. Today we will utilise it to write our fold function. To the ones who don't know what a fold function the expression fold(add, 1, 2, 3, 4, 5) , we will output (1 +(2 + (3 + (4 + 5)))) = 15 (which is left fold). Similarly for fold(mul, 1, 2, 3, 4, 5) , we will output 120. More about it can be found here.

11/19/2022: Top 5 stories on the Hackernoon homepage!

Interface is mostly viewed as a useful feature to write more maintainable code. But the concept of Interface developed to address a different issue with C++.

C++ pipeline for LiDAR-based autonomous driving.

In hamming distance problem, we find the number of positions where the bits are different for the given input with constant time complexity.

In this part of creating programming language, we'll implement the hybrid inheritance for the classes like in C++ and write a calculator with multiple classes

The typecasting is the feature which makes C++ more type-safe, robust & may convince you to use it over C. But this is also a more underrated topic when you are a newbie or moving from C background. Hence, I come up with an article on it. Here, we will not only see the C++ type casting with example for C developers but we will also cover Why do we need typecasting? & C++ type casting cheat codes for C developers to remember & employ it easily.

Competitive Programming is an art form. It is creative problem solving at its finest, a combination of hard analytical thinking and creativity. Competitive programmers use their knowledge of algorithms and data structures and logical reasoning skills to solve challenging algorithmic problems in a limited time frame.

The article provides you an understanding of how to pass data to the function, Covering concepts like Call-By-Value & Call-By-Reference in C/C++.

V8 is not only a famous eight-cylinder engine you can find in Dodge Charger, Bentley Continental GT or Boss Hoss motorcycles. In 2008 The Chromium Project developers released a new JavaScript and WebAssembly engine with the same name – V8, such a groovy reference to the engineering marvel. So one more Vee-eight engine was born.

In this article, we are going to discuss a step-by-step guide on how you can learn C++.

Here are my top ten best programming languages to learn first. Start from here, choose your path and get yourself on the road to your dream job.

Choosing the most suitable hash map for different use cases in C++23. Standard unordered containers, boost, folly, abseil. Concurrent hash maps.

Machine learning has firmly entrenched in a variety of human fields, from speech recognition to medical diagnosing. The popularity of this approach is so great that people try to use it wherever they can. Some attempts to replace classical approaches with neural networks turn up unsuccessful. This time we'll consider machine learning in terms of creating effective static code analyzers for finding bugs and potential vulnerabilities.

Looking to get into development? Have a soft spot for old console based RPG games? Why not build Umoria! A Rouge clone created in a day of limited graphics - but nevertheless a very addicting game for the time. I would say one of the more memorable games that got me interested in coding (game was so hard I wanted to reverse engineer the save format).

"Let's Understand Chrome V8" are serial technology articles that explain the V8 code, it covers many V8 kernel functions and fundamentals.

So I have started updating myself with Modern C++ a while ago & since my post 21 new features of Modern C++ to use in your project & All about lambda function in C++ was popular I decided to write about advanced C++ concepts & idioms which I have learned from this wikibook & course.

Dive into ImageMetalling to jazz up your images by tweaking color spaces with some cool geometric distortion tricks!

Security is an eternal race between the techniques and technologies of attackers and those of the defenders. Today, I'm proud to announce a step forward for defenders with a new rule to detect a literal race condition: TOCTOU (or TOCTTOU) vulnerabilities, known in long-form as Time Of Check (to) Time Of Use. 

In our last installment, we introduced sequential consistency, the threading programming contract between programmers and computer systems.

C++ (C with Classes) is a high-performance, general-purpose programming language. C++ is valued in the job. We have listed the Top 6 C++ IDEs of 2021.

In this tutorial, we will build a car parking sensor system, first digitally, and then I will show you how to port it to real hardware.

Here we have collected some interesting facts about what is happening in hedge funds based on open sources.

Understand how to reverse a string using recursion in C++ and Java

In 1972, Alan Kay, Dan Ingalls, and Adele Goldberg at Xerox PARC created a revolutionary new programming language called Smalltalk.

Starting from PVS-Studio 7.14, the C and C++ analyzer has been supporting intermodular analysis.

The American company Electronic Arts Inc (EA) has made the source code of the games Command & Conquer: Tiberian Dawn and Command & Conquer: Red Alert publicly available. This code should help the game community to develop mods and maps, create custom units, and customize the gameplay logic. We all now have a unique opportunity to plunge into the history of development, which is very different from the modern one.

How to get Bazel and Emscripten to compile C++ to WebAssembly or JavaScript

Migrating from YOLO to Grounding DINO exposed brutal CPU cache limits, ONNX traps, and why INT8 quantization beats “max optimization.

Among all the trading techniques, one of the most popular and sophisticated is algorithmic trading.

DSA-Guide: Guide to DSA Problem for Leetcode, Codechef, CSES, GFG

A developer asks Claude to make something most Sr. DSP Audio Engineers struggle with.

This article is the first part of a five-part series about SOLID as Rock design principle series. The SOLID design principles focus on developing software that is easy to maintainable, reusable & extendable. In this article, we will see an example of the Single Responsibility Principle in C++ along with its benefits & generic guideline.

These are the top companies hiring for C# remote jobs right now

Just before the release of the "Amnesia: Rebirth" game, the vendor "Fractional Games" opened the source code of the legendary "Amnesia: The Dark Descent" and its sequel "Amnesia: A Machine For Pigs". Why not use the static analysis tool to see what dreadful mistakes are hidden in the inside of these cult horror games?

Build a cross‑platform, low‑latency echo & chat server with Boost.Asio, UDP, and io_uring—benchmarked on macOS vs Linux with full code & Docker.

10 years of trial and error led to building an H.264 decoder with Nvidia CUDA—discover why microchips and Intel SDK didn’t make the cut.

Optimizing eCPM for interstitial ads in mobile applications.

When it comes to picking an associative container (like a hash map), modern C++ has a lot to offer.

Is a string empty? What if it contains only white spaces? You shouldn't reinvent the wheel, since .NET exposes methods exactly for these cases: String.IsNullOrE

In its 2023 report, Ark Invest outlines its views on the 14 sectors it believes will experience exponential growth in the coming years.

C++ remains the backbone of modern game engines—and it’s not going away anytime soon.

The American company Electronic Arts Inc (EA) has opened the source code of the games Command & Conquer: Tiberian Dawn and Command & Conquer: Red Alert publicly available. Several dozen errors were detected in the source code using the PVS-Studio analyzer, so, please, welcome the continuation of found defects review.

Learn how to install LDPL (the dinosaur programming language) on Fedora.

Before creating the code, it is crucial to prioritize its quality. It should be the foremost consideration in the development process.

Make AI Great Again or welcome to "Horny SaaS Jail" full of LLMs. How to make AI possible to run on personal computers or small devices.

C++ has often been criticized for its complexity and steep learning curve.

Some of you may have been tired of this topic already, but our software engineers picked 7 examples and tried to explain their behavior using the Standard (the latest draft at the time of writing):

In this article, I will explain classes, objects, access modifiers, constructors, encapsulation, abstraction, inheritance, and polymorphism in C++.

In this article, the breadth-first search algorithm is explained with examples and implementations, including how it can be modified to find the shortest paths.

The AI industry is currently in a state of mass hallucination. We are promised a future of autonomous agents—vision models on factory floors, and more

C++ vs. Java programming languages are designed for everyone, no matter if you are new to programming or you already have extensive programming experience.

Top 10 Bugs Found in C++ Projects. Modulo division by one delete instead of delete[] Buffer overflow Meaningless overflow protection

Don't let C++ scare you!

Network IO, epoll, event loops. Learn how servers efficiently handle thousands of connections without blocking threads

Kober Engineering’s experience shows how SimpleBLE can address real-world challenges in automotive testing.

Stop writing cryptic code! Learn how to reduce syntactic noise, improve readability, and make your software easier to maintain and debug.

Refuting claims that clean code hurts performance, this article shows how proper design delivers speed without sacrificing maintainability.

2/14/2023: Top 5 stories on the Hackernoon homepage!

A deep dive into why query engines are moving to C++ and how Velox delivers faster, more predictable execution for systems like Presto.

Access modifiers have long been seen as essential to safe and clean code. But they’re ultimately a low-level mechanism for expressing high-level ideas.

Another year is drawing to an end, and it's a perfect time to make yourself a cup of coffee and reread the reviews of bugs collected across open-source projects over this year. This would take quite a while, of course, so we prepared this article to make it easier for you. Today we'll be recalling the most interesting dark spots that we came across in open-source C/C++ projects in 2019.

A tale of how yass static site generator was born, after so many yak shavings and bike shedding sessions.

This is an exciting interview question to check the fundamentals of an interviewee. People often need clarification on these three terms.

12/9/2024: Top 5 stories on the HackerNoon homepage!