وب‌سرویس مجید

پروژه cpp-kwargs

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