C++ has great change after C++11 and it still continues. I shared some of the basic important topics before. But I wish to add a summary here ; Use nonstatic data initialization instead of the old way. (Why nonstatic data initialization is important) Delete unused constructors with delete keyword. If… Continue Reading To be Modern or Not
To protect value with a simple mutex. The other way is using unique_lock but it locks threat critically New Memory model Atomic Atomic brings us a secure model to reach data on memory. However, it is slower than the simple mutex operation, atomic types make us sure about memory sharing.
In C++ you can provide concurrency by using threat. join method creates waiting for the main thread. But detach stop connection between the main thread and created child thread. Passing argument You can also pass an argument to the thread. You can simply use the parameter on thread method. But… Continue Reading Threat
Lambda is a method to create a function object in C++. The basic structure is: To get the type of the lambda; You may mention that lambda is a function object. If you using C++14 or letter. you can use auto keyword to create template lambda. To change your Cmake… Continue Reading Lambda
Here, in Great Britain, nobody knows what will happen to us. We live in the corona attack and Mr Jhonson’s careless approach. As a Turkish guy, I don’t clearly understand why these English Politicians ignore this situation. I thought Turkey isn’t part of the modern free world. But I learn… Continue Reading Boris Jhonson and Coronavirus
In C++ templates may use to declare to get several version In here you may find a way to declare a type called Param but not only one strict type. You may use it with other type names to And of course, you may create a function that calls himself… Continue Reading Variadic Template
By writing a constructor template you can cover several alternatives of the constructors. But there is also a way to call copy constructor or move constructor when you forwarding an object. In flowing code, we provided a Has-A type class to understand what type of constructor called. In the Has-A… Continue Reading Perfect Forwarding with Template
You can pass size of an array by only using a template parameter. Here is an example code of it
Here you are a short review code for templates Explicit Initialization forces compiler to create a version of code. Explicit Specialization is the way for creating an alternative implementation of a template method.
You cant throw an exception from a deconstruction method of a class because all destroy methods are noexcept(true).