Computer >> Máy Tính >  >> Lập trình >> C ++

Từ khóa tự động làm gì trong C ++?


Auto là một từ khóa mà C ++ "kế thừa" từ C đã tồn tại ở đó gần như mãi mãi, nhưng hầu như không bao giờ được sử dụng. Tất cả điều này đã thay đổi với sự ra đời của tự động thực hiện loại trừ khỏi ngữ cảnh trong C ++ 11. Trước C ++ 11, mỗi kiểu dữ liệu cần được khai báo rõ ràng tại thời điểm biên dịch, giới hạn các giá trị của một biểu thức trong thời gian chạy nhưng sau phiên bản C ++ mới, nhiều từ khóa được bao gồm cho phép lập trình viên để lại kiểu trừ cho chính trình biên dịch.

Với khả năng suy luận kiểu, chúng ta có thể tốn ít thời gian hơn khi phải viết ra những thứ mà trình biên dịch đã biết. Vì tất cả các kiểu chỉ được suy luận trong giai đoạn biên dịch, thời gian biên dịch tăng lên một chút nhưng không ảnh hưởng đến thời gian chạy của chương trình.

Từ khóa auto chỉ định rằng kiểu của biến được khai báo bắt đầu sẽ tự động được suy ra từ trình khởi tạo của nó và đối với các hàm nếu kiểu trả về của chúng là tự động thì kiểu đó sẽ được đánh giá bằng biểu thức kiểu trả về trong thời gian chạy.

Ví dụ

#include<iostream>
#incllude<vector>
using namespace std;

int main() {
   vector<int> vec(10);       // Auto deduce type to be iterator of a vector of ints.
   for(auto it = vec.begin(); it != vec.end(); vec ++)
   {
      cin >> *it;
   }
   return 0;
}