استفاده کردن از توابع متغیر (variable templates) در C++ برای تعریف متغیر های قالب دار
توضیحات:
توابع متغیر (variable templates) از ویژگیهای C++11 به بعد است که اجازه میدهد متغیرهایی با قالبهای مختلف تعریف شوند. این ویژگی به برنامه نویس این امکان را میدهد که یک متغیر با قالبهای مختلف تعریف کند و در زمان اجرا مقدار آن را بر اساس نوع قالب تعیین کند.
برای تعریف یک تابع متغیر، میتوانید از کلمه کلیدی template
و auto
استفاده کنید. به عنوان مثال، فرض کنید که میخواهید یک متغیر قالبدار برای محاسبه مساحت یک مستطیل تعریف کنید:
#include <iostream>
template <typename T>
constexpr T rectangle_area(T width, T height) {
return width * height;
}
template <typename T>
constexpr auto rectangle_area_v = rectangle_area<T>;
int main() {
// استفاده از تابع متغیر برای محاسبه مساحت یک مستطیل
int width = 5;
int height = 3;
std::cout << "Area of rectangle: " << rectangle_area_v<int>(width, height) << std::endl;
return 0;
}
در این مثال، ابتدا یک تابع rectangle_area
با استفاده از تمپلیت تعریف شده است که مساحت یک مستطیل را بر اساس عرض و ارتفاع آن محاسبه میکند. سپس با استفاده از تابع متغیر rectangle_area_v
، یک متغیر قالبدار برای محاسبه مساحت مستطیل تعریف شده است.
در تابع main
، ابتدا عرض و ارتفاع مستطیل تعریف شده و سپس با استفاده از متغیر قالبدار rectangle_area_v
، مساحت مستطیل محاسبه و چاپ میشود.
استفاده از توابع متغیر در C++ برای تعریف متغیرهای قالبدار به برنامه نویس این امکان را میدهد که کد را بهبود بخشید و کد قابلیت باز استفاده بیشتری داشته باشد.
موفق باشید
A.J
پست های مرتبط:
فروشگاه سورسا:
سورسا ، یک خانواده!
شما میتوانید از سورس های آماده به راحتی و با کپی پیست در پروژه خود استفاده بفرمایید
بله! سورسا به عنوان اولین و برترین مرجع سورس کد های آماده، تمامی سورس کد ها در زبان های مختلف را به صورت رایگان در اختیار شما قرار میدهد.
اگر سورس مد نظر شما تفاوتی با سورس فعلی دارد یا اینکه درخواست سورس دیگری را دارید میتوانید با کارشناسان سورسا در ارتباط باشید.
سورسا به عنوان مرجع سورس در تلاش است سورس کد ها و آموزش های تمامی زبان های برنامه نویسی مانند GO C++ Python C PHP SQL JS و… را تحت پوشش قرار داد