C++
C#
Dart
Kotlin
Rust
#include <iostream> // функция логгирования template<typename T> void log(const T&); int main() { std::string name {"Tom"}; log(name); unsigned age{38}; log(age); } template <typename T> void log(const T& obj) { std::cout << "obj = " << obj << std::endl; }
Автотипизация (начиная с C++20):
#include <iostream> // функция логгирования void log(const auto&); int main() { std::string name {"Tom"}; log(name); unsigned age{38}; log(age); } void log(const auto& obj) { std::cout << "obj = " << obj << std::endl; }
string name = "Tom"; Log(name); int age = 38; Log(age); void Log<T>(T obj){ Console.WriteLine($"obj = {obj}"); }
void main (){ String name = "Tom"; log(name); int age = 38; log(age); } void log<T>(T obj){ print("obj = $obj"); }
fun main() { val name = "Tom" log(name) val age = 38 log(age) } fun <T> log(obj: T){ println("obj = $obj") }
fn log<T: std::fmt::Display>(obj: T){ println!("obj = {}", obj); } fn main(){ let name = "Tom"; log(name); let age = 38; log(age); }