Implementing a Custom Vector Class in C++

Vector Class Framework The basic framework for our custom vector implementation inculdes three main pointers: template<class T> class vector { private: iterator _start = nullptr; // Points to beginning of data iterator _finish = nullptr; // Points to end of valid data iterator _endOfStorage = nullptr; // Points to end of stora ...

Posted on Mon, 01 Jun 2026 01:36:51 +0000 by murali

Core C++ Knowledge Summary: Syntax, Memory, and Modern Features

Introduction This document summarizes essential C++ concepts including syntax, memory management, and object-oriented programming. 1. C++ Fundamentals 1.1 Pointers and References Differences Between Pointers and References A pointer stores the address of an object. Its itself a variable (a named object) and has its own address, allowing pointer ...

Posted on Tue, 26 May 2026 18:46:23 +0000 by melittle

Internal Implementation Mechanisms of std::tuple in C++

The storage design of std::tuple relies on a recursive inheritance model. A tuple with N elements (where N > 0) is implemented as a derived class that privately inherits from a base class representing a tuple of the remaining N-1 elements. The terminal case is an empty tuple specialization for zero elements. Consider the following instantiat ...

Posted on Fri, 22 May 2026 19:57:43 +0000 by wobbit

C++ Associative Containers: Understanding set and map

Basic Concepts 1. map and set are associative containers, unlike sequence containers such as vector, queue, and stack. The structure of associative containers makes data retrieval more efficient. 2. map and set follow a <key, value> structure. Key-Value Pairs SGI_STL implementation of key-value pairs Through class template parameters, dif ...

Posted on Thu, 21 May 2026 17:41:58 +0000 by jek1134

Understanding and Utilizing the C++ STL String Container

The std::string in C++ is a powerful class that simplifies string manipulation. Unlike char*, which is a raw pointer, std::string provides robust functionality such as memory management, built-in methods for operations like searching (find), copying, deleting, replacing, and inserting. Key Features: Encapsulates many useful member functions. M ...

Posted on Mon, 18 May 2026 09:19:02 +0000 by McMaster

Implementing Queue and Stack Using Basic Data Structures

Stack and Queue Fundamentals A stack operates on a last-in-first-out (LIFO) principle, whereas a queue follows a first-in-first-out (FIFO) approach. Both stack and queue are fundamental data structures available in the Standard Template Library (STL). There are three widely recognized implementations of STL: HP STL: The initial implementation ...

Posted on Sat, 16 May 2026 23:45:36 +0000 by etsauer

C++ Core Concepts and Modern Features

C++ is a powerful, general-purpose programming language. This document explores various C++ concepts, from fundamental syntax to advanced features introduced in modern C++ standards. Core C++ Concepts Arguments and Parameters In C++, arguments are the actual values passed to a function during its invocation, while parameters are the variables d ...

Posted on Sat, 16 May 2026 07:40:03 +0000 by anna_cm

Advanced C++ Programming Techniques

Templates Function Templates Function templates enable generic programming by allowing functions to operate with different data types. #include <iostream> using namespace std; template<typename T> void swapValues(T& a, T& b) { T temp = a; a = b; b = temp; } void testFunctionTemplate() { int x = 10, y = 20; ...

Posted on Wed, 13 May 2026 14:44:33 +0000 by erth

Core STL Containers and Algorithms in C++

Vector A vector is a dynamic array that automatically resizes itself. It supports random access via the [] operator, allowing O(1) time access to any element by index. However, inserting elements at arbitrary positions is not an O(1) operation. Declaration #include <vector> using namespace std; vector<double> data; // A dynamic arr ...

Posted on Wed, 13 May 2026 02:22:05 +0000 by skyturk

Understanding std::pair in the C++ Standard Library

The std::pair is a template class defined in the <utility> header file. It enables combining two values into a single object, which is extensively used throughout the C++ standard library. Containers like std::map, std::unordered_map, and std::unordered_multimap rely on pairs to store key-value associations. Additionally, functions such a ...

Posted on Sun, 10 May 2026 21:12:38 +0000 by ditusade