Au

Auto در C++

1 تمرین

درباره‌ی Auto

کلیدواژه‌ی auto در C++

در C++، کلیدواژه‌ی auto یک ویژگی قدرتمند است که در C++11 معرفی شد و برای تعریف متغیرهایی با نوع داده‌ی استنتاج‌شده به کار می‌رود. کامپایلر نوع متغیر را بر پایه‌ی مقدار اولیه‌ی آن استنتاج می‌کند و همین می‌تواند کد را خواناتر و نگهداری‌اش را آسان‌تر کند.

نمونه‌ی کاربرد

به این مثال نگاه کنید که در آن از auto برای تعریف متغیرها استفاده شده است:

auto dragon_population{3};          // dragon_population is deduced as an integer
auto westeros{7.7777};              // westeros is deduced as a double
auto wedding_location{"The Twins"}; // wedding_location is deduced as a const char*, not std::string

در هر مورد، نوع متغیر از مقداری که با آن مقداردهی اولیه شده است، استنتاج می‌شود.

استنتاج نوع

کلیدواژه‌ی auto با کاهش پرحجمی نوع‌های صریح، به نوشتن کدی مختصرتر و خواناتر کمک می‌کند.

const std::vector<std::string> pigeon_pie{"flour", "butter", "pigeon", "salt"};
auto purple_wedding_pie{pigeon_pie};
purple_wedding_pie.emplace_back("the strangler");

در اینجا، auto نوع purple_wedding_pie را std::vector<std::string> استنتاج می‌کند و نیازی به مشخص کردن دوباره‌ی صریح نوع نیست.

سازگاری

کلیدواژه‌ی auto با ساختارهای مختلف C++ سازگار است و همین آن را به ابزاری چندکاره در برنامه‌نویسی مدرن C++ تبدیل می‌کند.

auto& element{array[0]};           // reference to an element
const auto object{otherObject};    // const type version of otherObject's type
auto* ptr{&x};                     // pointer to x with the same type as x, but as a pointer.

در مفاهیم بعدی، کلیدواژه‌ی auto را اغلب همراه با عبارات لامبدا، حلقه‌های for مبتنی بر بازه و تکرارگرها خواهیم دید.

موارد استفاده

  • برنامه‌نویسی عمومی: auto به‌ویژه در موقعیت‌های برنامه‌نویسی عمومی که نوع‌ها ممکن است پیچیده یا مرتبط با قالب باشند، مفید است.
  • نوع‌های داده‌ی پیچیده: وقتی با نوع‌های داده‌ی پیچیده یا نام‌های طولانی نوع سروکار دارید، auto می‌تواند شلوغی را کم کند و نگهداری کد را بهبود ببخشد.
  • الگوریتم‌های مبتنی بر تکرارگر: استفاده از تکرارگرها در الگوریتم‌ها را ساده‌تر می‌کند و خوانایی کد را بالا می‌برد.
ویرایش از طریق GitHub این پیوند در پنجره یا زبانه‌ی جدیدی باز می‌شود

Auto را یاد بگیرید

تمرین کردن قفل شده است

برای تمرین Auto قفل 1 تمرین دیگر را باز کنید