top of page



Welcome to EmbeddedHow
Home: Welcome
Home: Blog2
Search


Smart Pointers: Understanding Ownership, Memory Overhead and Common Pitfalls
C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows your whole leg off. — Bjarne Stroustrup Smart pointers are one of the most useful additions introduced in modern C++. Most developers know that smart pointers help prevent memory leaks by automatically releasing dynamically allocated objects. However, understanding the ownership model and memory overhead of different smart pointers is equally important, especially in embedd

Sunil Kumar Yadav
8 hours ago5 min read
Â
Â
Â


C++ Upcasting and Downcasting Simplified
Inheritance allows us to treat derived class objects as base class objects. This capability forms the foundation of runtime polymorphism in C++. While working with inheritance, you will often come across the terms Upcasting and Downcasting. Introduction In this article, we'll understand what they mean, when they are useful, and why one is generally considered safer than the other. Let's start with a simple inheritance hierarchy. #include <iostream> class Animal { public: vir

Sunil Kumar Yadav
1 day ago4 min read
Â
Â
Â


C++ Object Slicing Simplified
Object-oriented programming and polymorphism are fundamental concepts in C++. Most developers learn that virtual functions allow derived classes to provide specialized implementations while interacting through a base class interface. However, there is a subtle issue that can silently break polymorphism: Object Slicing. In this article, we'll understand what object slicing is, why it happens, and how to avoid it using a few simple examples. What is Object Slicing? Object slici

Sunil Kumar Yadav
May 313 min read
Â
Â
Â


GPU: Getting Started With CUDA
What is GPU? A graphics processing unit (GPU) is an electronic circuit that processes images and accelerates the rendering of 3D computer...

Sunil Kumar Yadav
Oct 4, 20245 min read
Â
Â
Â


Concurrency In C++: How To Avoid Deadlock
In our last couple of articles we've tired to go through the fundamentals of concurrenc y in C++ using Standard Template Library. We've...

Sunil Kumar Yadav
Sep 30, 20245 min read
Â
Â
Â


Concurrency in C++: Sharing Data Between Threads Using Mutex
In my last article C++: Introduction to Concurrency , I've gone through fundaments of concurrency and it's benefits in terms of improving...

Sunil Kumar Yadav
Sep 22, 20245 min read
Â
Â
Â


C++: Introduction to Concurrency
Concurrency in C++ is a powerful feature that enables developers to create applications capable of performing multiple tasks...

Sunil Kumar Yadav
Sep 18, 20246 min read
Â
Â
Â


S.O.L.I.D. Principles of Object-Oriented Programming
The SOLID principles were introduced by Robert C. Martin also known as "Uncle Bob" in his 2000 paper "Design Principles and Design...

Sunil Kumar Yadav
Dec 4, 20227 min read
Â
Â
Â


Understanding C++ Object Model
Object-oriented programming ( OOP ) is a programming paradigm based on the concept of " objects ", which can contain data and code:...

Sunil Kumar Yadav
Jan 14, 20224 min read
Â
Â
Â


Understanding C++ Lambda
C++ 11 standard introduced many new features in the C++ language making it truly a modern language. Features introduced since C++11 were...

Sunil Kumar Yadav
Dec 18, 20214 min read
Â
Â
Â


Semantics of C++ Object Destruction
C++ is one of the most popular programming languages which is being used in multiple domains. Its diverse use means it supports many...

Sunil Kumar Yadav
Dec 12, 20214 min read
Â
Â
Â


Face Detection using Haar-Cascade Classifier using OpenCV and C++
Computer vision is a field of study which encompasses how computers see and understand digital images and videos. We are sounded by...

Sunil Kumar Yadav
Nov 28, 20214 min read
Â
Â
Â


What is Dynamic Programming?
As software engineers, our aim is to develop efficient programs to solve given problems. In this process, we come across many programming...

Sunil Kumar Yadav
Nov 28, 20213 min read
Â
Â
Â


Shape Detection using OpenCV/C++
OpenCV library is very popular and widely used in computer vision. OpenCV is very easy to use but one should be familiar with different...

Sunil Kumar Yadav
Nov 12, 20213 min read
Â
Â
Â


Understanding C++ Default Constructor
C++ is one of the most popular programming languages which is being used in multiple domains. Probably there are billions of lines of...

Sunil Kumar Yadav
Nov 6, 20215 min read
Â
Â
Â


Getting Started with OpenCV/C++
With the advancement in silicon technologies, Artificial Intelligence and Image Processing have been used extensively for the last few...

Sunil Kumar Yadav
Oct 24, 20215 min read
Â
Â
Â


Hard Real-Time and C++ Predictability
Hard real-time systems are characterized by their predictability. Such systems are guaranteed to perform intended action in a specified...

Sunil Kumar Yadav
Oct 16, 20215 min read
Â
Â
Â


Understanding the runtime behaviors of C++ programs using uftrace tool
Whether you are an expert programmer or a freshman in university, it's always fascinating to learn how systems work under the hood. Since...

Sunil Kumar Yadav
Oct 3, 20218 min read
Â
Â
Â


gprof: How To Use GNU Profiling Tool?
Efficiency in software engineering is associated with reliability, speed, and programming methodology used in developing software for an...

Sunil Kumar Yadav
Sep 19, 202113 min read
Â
Â
Â


How std::binary_search work with std::list?
The Standard Library allows you to apply the binary_search and lower_bound algorithms to any sorted sequence container, including std::list

Sunil Kumar Yadav
Sep 16, 20212 min read
Â
Â
Â
Home: Subscribe
Home: Contact
bottom of page