Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Articles by Aman Kumar
Page 6 of 7
Default virtual behavior in C++ vs Java
The default behaviour of virtual functions in C++ and Java is significantly different, especially in terms of the handling of method overriding and polymorphism. Default Virtual Behavior in C++ C++ methods are non-virtual by default. To enable dynamic polymorphism, the virtual keyword must be explicitly used in the base class when defining a method. If virtual is not given, the method call is handled at compile time using the object of static type. Example In this example, we implement the default behaviour of the virtual function in C++: #include using namespace std; class Base { public: void nonVirtualMethod() { cout
Read MoreTemplate Metaprogramming in C++
C++ Template metaprogramming (TMP)Template metaprogramming (TMP) is a metaprogramming technique in which a template is used by the compiler to generate temporary source code, which is merged by the compiler with the rest of the source code and then compiled. The best use of template metaprogramming is in C++. The use of templates can be thought of as compile-time polymorphism. The use of templates as a metaprogramming requires two distinct operations: A template must be defined and a defined template must be instantiated. Syntax The syntax of template metaprogramming is not defined by code, but we can explain it and ...
Read MoreC++ Program to implement Slicker Algorithm that avoids Triangulation to find Area of a Polygon
In this article, we implement a C++ program to find the area of a polygon using a slicker algorithm that avoids Triangulation to find the area of a polygon. What is Slicker Algorithm The Silcker algorithm is a method for calculating the area of a polygon by performing a series of calculations based on the polygon's vertices. It is an efficient alternative to triangulation, especially for polygons with many sides. How Silcker Algorithm Works? Since slicker is a method used to compute the area of a polygon without triangulation. Instead of breaking the polygon into triangles, it directly computes the ...
Read MorePrint a character n times without using loop, recursion or goto in C++
In this article, we will see how to print a character n times without using loops and recursion in C++. Input/Output Scenario Let's see following input output scenario − Input : n = 10, c = 'i' Output : iiiiiiiiii Input : n = 5, character = 'j' Output : jjjjj Using String Constructor Here, using the string constructor in C++ to print a character n times: It allows initialization of a string with multiple copies of a specific character by passing the number of times and the character itself as arguments. Example In this C++ example, we ...
Read MoreC++ Program to implement Gift Wrapping Algorithm in Two Dimensions
Gift Wrapping AlgorithmThe Gift Wrapping algorithm is also known as Jarvis's march. It is a method for calculating the convex hull of a set of points in a plane. It is essential to find the smallest convex polygon that encloses all the points. Why We Use Gift Wrapping Algorithm? Below are the following reasons to use this algorithm: Easy to Understand: It work like wrapping a string around points. Good for Small Data Sets: When fewer points make up the convex hull. Accurate: Never misses a point ...
Read MoreC++ Program to Implement Cartesian Tree
Cartesian Tree in C++A Cartesian tree is a binary tree derived from a sequence of distinct numbers. To construct a Cartesian tree, set its root to be the minimum number in the sequence, and then recursively construct its left and right subtrees from the subsequence before and after this number. A Cartesian tree is a tree data structure that obeys the following structural invariants: The tree follows the min (or max) heap property - each node is less than or greater than its children. An inorder traversal of the nodes causes the values in the same order in which they arise in the initial series. Let's construct a max-heap ...
Read MoreCalculate range of data types using C++
Here, we are going to learn how we can calculate the range of the different C++ data types such as signed data types (int, char, float, etc.) and unsigned data types (unsigned char, unsigned int, unsigned float, etc.). Calculating Range of Signed Data Types In C++, signed data types are used to represent both positive and negative integer values. So, to display their range, we use the following method − Calculate the total number of bits, multiply the sizeof bytes by 8. Calculate -2^(n-1) for minimum range ...
Read MoreDifference between std::vector and std::array in C++
Both vectors and arrays are used to store collections of elements, but they differ significantly in how they manage their memory and flexibility. C++ std::vector A vector is a dynamic array that can be resized automatically when elements are added or removed. It is a part of the C++ STL and provides more flexibility than a static array. Example In the following example, we will demonstrate the usage of the vector in C++ − #include #include using namespace std; int main() { vector > v { { 4, 5, 3}, {2, 7, 6}, {3, 2, 1, 10} }; cout
Read MoreWhy we should avoid using std::endl in C++
In this article, we will see why we should avoid the std::endl while printing lines into the console or a file. We use std::endl to create a new line after the current line. For a few lines of I/O operations, it is not causing any problems. However, a large number of I/O tasks decreases performance. Why We Avoid Using std::endl There are the following reasons to avoid endl: The endl is used to create new lines, but it does not send to the new line only; after sending the cursor to the next line, it ...
Read Morereference_wrapper in C++
std::reference_wrapper is a class template in C++ that allows you to store references to objects or functions in a way that makes them copyable and assignable. Normally, C++ references can't be stored in standard containers like std::vector or std::list, because references are not copyable. std::reference_wrapper solves this problem by internally storing a pointer to the referenced object. It acts like a wrapper around a reference and behaves almost like the original object. It can be passed to functions that take T& (a reference to T), because std::reference_wrapper is implicitly convertible to T&. This is especially useful when you ...
Read More