huanhuanonly/cpp-kwargs
این یک کتابخانهٔ Header-only برای C++17/20 است که امکان ارسال آرگومانها به سبک **kwargs پایتون را فراهم میکند، بدون نیاز به ماکرو یا کدهای اضافه و با پشتیبانی از تبدیل خودکار نوع دادهها.
کاربرد:
این کتابخانه به شما اجازه میدهد تا توابع را با آرگومانهای نامدار و اختیاری فراخوانی کنید، دقیقاً مثل پایتون — بدون نیاز به تعریف چندین نسخه از یک تابع یا استفاده از ساختارهای پیچیده.
در چه شرایطی بهتره استفاده شود؟
وقتی میخواهید کدهایتان تمیزتر، خواناتر و انعطافپذیرتر باشند، بهویژه در کتابخانههای عمومی، APIها یا توابعی با پارامترهای زیاد و اختیاری. همچنین وقتی تمایلی به نوشتن ماکرو یا کدهای تکراری ندارید.
چند مثال از موارد استفاده:
- فراخوانی تابع با پارامترهای نامدار: `func(name="Ali", age=30);`
- تعریف توابع با آرگومانهای اختیاری بدون نیاز به overloading
- تبدیل خودکار نوع (مثلاً `int` به `double`) در زمان ارسال آرگومان
- ساخت تنظیمات پیکربندی با خوانایی بالا: `config(port=8080, debug=true, host="localhost");`
- ##cpp
- ##cpp17
- ##cpp20
- ##kwargs
- ##header
- ##type
- ##modern
- ##no
- ##clean
- ##library
