Explore >> Select a destination


You are here

www.cppstories.com
| | www.fluentcpp.com
1.7 parsecs away

Travel
| | Variadic templates allow any number of template parameters of any type. In this article we see how to do a variadic number of parameters of the SAME type.
| | www.foonathan.net
3.1 parsecs away

Travel
| | When C++11 introduced move semantics, it also added two important helper functions: std::move and std::forward. They are essential when you want to manually indicate that you no longer care about an object or need to propagate the value category in generic code. As such, Ive used them countless times in the past. However, they are functions. Plain, old, standard library functions. This is problematic for multiple reasons.
| | cppstories.com
2.1 parsecs away

Travel
| | Some time ago I covered how to use custom deleters with smart pointers. The basic idea is to specify a dedicated method that will be called when a pointer is released. One logical application of custom deleters might be resource handles like files or the WinApi HANDLE type. Let's see how can we implement such thing.
| | entangledlogs.com
22.2 parsecs away

Travel
| Generic Programming: Generating part of programs Introduction Generic Programming: Programming with generic parameters to avoid unnecessary code duplication and encourage code reuse. Polymorphism is also another technique to solve code reuse Puts implicit constraints on the generic types that are to be fulfilled by concrete types. template T adder(T LHS, T RHS) { return LHS + RHS; } struct Foo { inv Val = 0; } Foo f = adder(Foo{}, Foo{}): In this code snippet, we assume that Foo meets the requirement tha...