In C++, templates allow you to create functions and classes that work with any data type. They enable code reusability and type safety. Function templates are used when you want to create a function that can operate on different data types without having to write the same function multiple times.
Here is a simple example of a function template that swaps two values:
template <typename T>
T swap(T &a, T &b) {
T temp = a;
a = b;
b = temp;
}
int main() {
int x = 10, y = 20;
swap(x, y);
std::cout << "x: " << x << ", y: " << y << std::endl;
double m = 1.1, n = 2.2;
swap(m, n);
std::cout << "m: " << m << ", n: " << n << std::endl;
return 0;
}
How do I avoid rehashing overhead with std::set in multithreaded code?
How do I find elements with custom comparators with std::set for embedded targets?
How do I erase elements while iterating with std::set for embedded targets?
How do I provide stable iteration order with std::unordered_map for large datasets?
How do I reserve capacity ahead of time with std::unordered_map for large datasets?
How do I erase elements while iterating with std::unordered_map in multithreaded code?
How do I provide stable iteration order with std::map for embedded targets?
How do I provide stable iteration order with std::map in multithreaded code?
How do I avoid rehashing overhead with std::map in performance-sensitive code?
How do I merge two containers efficiently with std::map for embedded targets?