Explore >> Select a destination


You are here

www.bfilipek.com
| | www.cppstories.com
0.0 parsecs away

Travel
| | Variadic Templates from C++11 is probably not a feature that you use on a daily basis. But recently, I've come across one refactoring example where I've decided to give a try and apply variadics. Intro When I was doing some work in some old UI code I've noticed several similar lines of code that looked like that:
| | 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.
| | 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.
| | entangledlogs.com
25.6 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...