We are committed to provide service 24 X 7

Deals, Shopping, Training, Tools

Category: C++

Using std::find & std::find_if with User Defined Classes

std::find and std::find_if algorithms are used to find first element in the given range. In this article we will see how to use std::find and std::find_if algorithm with user defined datatypes i.e. Classes & Structures. Advertisements Internally std::find algorithm uses the == operator for comparisons. For built-in data types like int, std::string etc operator == …

Using std::find & std::find_if with User Defined ClassesRead More

Be careful with hidden cost of std::vector for user defined objects

output_1

While creating and using std::vector with user defined classes we needs some special care otherwise it can hamper the performance of our application. [showads ad=inside_post] Let’s learn by example, Suppose we have an Item Class, Advertisements class Item { public: static int m_ConstructorCalledCount; static int m_DestCalledCount; static int m_CopyConstructorCalledCount; Item() { m_ConstructorCalledCount++; } ~Item() { …

Be careful with hidden cost of std::vector for user defined objectsRead More

C++ : How to split a string using String and character as Delimiter?

In this article we will see 2 techniques to split a std::string in C++ and return the result in std::vector<std::string> i.e. Splitting a std::string using a char as delimiter. Splitting a std::string using an another std::string as delimiter. How to Split a std::string using a char as delimiter: In this we will convert the passed …

C++ : How to split a string using String and character as Delimiter?Read More

Object Oriented Approach to Display a sequence of numbers without any For-Loop or Recursion

Suppose we have to display a sequence of numbers like from 10 to 20 i.e. 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 Advertisements without using any for-loop and recursion. Solution: Frequently Asked: Object Oriented Approach to Display a sequence of numbers without any For-Loop or Recursion We will use two concepts …

Object Oriented Approach to Display a sequence of numbers without any For-Loop or RecursionRead More

When to use virtual functions in C++?

When we want a Derived Class to override a member function of Base class, then we should make that member function in Base class virtual. So that if someone uses the Derived class object using Base class’s pointer or reference to call the overridden member function, then function of derived class should be called. Suppose draw() is …

When to use virtual functions in C++?Read More

C++ : Map Tutorial Part 3: Using User defined class objects as keys in std::map

In this article we will discuss how to use User defined classes as key in std::map. By default std::map uses “operator <” as sorting criteria for keys. For default data types like int and std::string etc, operator < is available by default but for User defined classes operator < is not available by default. Advertisements …

C++ : Map Tutorial Part 3: Using User defined class objects as keys in std::mapRead More

C++ : Map Tutorial -Part 2: Map and External Sorting Criteria / Comparator

In this article we will discuss how to use external sorting criteria for keys in std::map and points that we need to take care with external sorting criteria. Default sorting criteria for keys in std::map is operator “<” i.e. std::less<T>. So, while creating std::map if we don’t specify the external sorting criteria then default criteria …

C++ : Map Tutorial -Part 2: Map and External Sorting Criteria / ComparatorRead More

C++11 Multithreading – Part 4: Data Sharing and Race Conditions

Order of Executions Of Commands

In multithreading environment data sharing between threads is very easy. But this easy sharing of data can cause problems in application. One such problem is Race Condition. What is a Race Condition? Race condition is a kind of a bug that occurs in multithreaded applications. Advertisements When two or more threads perform a set of …

C++11 Multithreading – Part 4: Data Sharing and Race ConditionsRead More

Cart

Your Cart is Empty

Back To Shop