Fading Coder

One Final Commit for the Last Sprint

Reviewing Array and Linked List Fundamentals

This review focuses on core techniques for arrays and linked lists, including practical C++ implementations. Arrays The most important concept for array problems is the two-pointer technique. Fast and Slow Pointers When removing or manipulating elements, nested loops lead to O(n²) time complexity. U...

C++ Object-Oriented Programming: Lab Exercise One

Dynamic Memory Allocation and Pointer Vairable Example Input and run the program, observe the output, and explain the purpose of each line. #include<iostream> using namespace std; int main(){ int *ptr, index; ptr = new int[5]; if (ptr == NULL) exit(0); *(ptr + 1) = 3; for (index = 0; index &l...

C++ Core Syntax: Default Arguments, Overloading, Const Semantics, and Dynamic Memory

Default Arguments Default parameter values must be assigned from right to left. int add(int x = 10, int y); // error int add(int x, int y = 20); // ok int add(int x = 10, int y = 20); // ok A default may be given in either the function declaration or its definition, but not both within the same scop...

Implementing Map and Set Using a Single Red-Black Tree Template

Encapsulating containers like map and set with a single Red-Black Tree (RBTree) template presents several design considerations. The key goals include implementing iterators, supporting increment/decrement operations, and enforcing container-specific constraints: preventing value modification in set...

Qt Miscellaneous Notes

Qt Miscellaneous Notes
1. Qt Signals and Slots What are Signals and Slots? A signal is an event emitted under specific circumstances. For example, the most comon signal for a PushButton is clicked(), emitted when the mouse clicks the button. A slot is a function that responds to a signal. A slot can be associated with a s...

Implementing Realistic Physics in a Simple C/C++ Game Using EasyX: Ball Animation with Gravity and Bounce Effects

8. Enhancing Fall and Collision Behavior The current ball movement uses constant velocity, lacking realistic deceleration during bounces. Introducing basic physics calculations improves the visual fidelity. While professional open-source physics angines like Box2D and PhysX offer advanced simulation...

Evaluating Digital Circuits with Structural Techniques

Motivation Digital circuits are often modeled as directed acyclic graphs. Given a boolean circuit and a vector of input values, the task is to compute the output values of every gate. A straightforward evaluation method is a topological traversal. This note presents structural techniques that can ac...

Customizing Application Icons and Packaging Qt Projects for Windows

Configuring Icons in Qt 6.7.2 on Windows Using CMake Setting the Executable Icon Prepare an icon file named app_icon.ico. Create a resource script file named icon_resource.rc with the following content: IDI_ICON1 ICON "app_icon.ico" Add app_icon.ico and icon_resource.rc to your Qt Resource...

Implementing C++ Operators and Overloading for Custom Classes

C++ offers a rich set of built-in operators to various computational tasks including arithmetic, logical, bitwise, and relational operations. A powerful feature allows these symbols to be redefined for user-defined types, enhancing readability and intuitive usage. Standard Operator Categories Arithm...

Understanding and Implementing Linked Lists in C++

Memory Layout and the Role of Pointers A linked list orgnaizes data across dynamically allocated, non-contiguous blocks of heap memory. Its core is the pointer relationship between nodes, not the data itself. // Nodes are created at independent memory addresses Node* first = new Node(15); // address...