5.4.1 Từ khóa “auto” (1)

Từ khóa auto xuất phát từ tổ tiên của C++, đó là ngôn ngữ lập trình C. Từ auto vẫn giữ nguyên ý nghĩa ban đầu của nó, nhưng C++ đã thêm một số thứ hay ho vào nó. Hãy bắt đầu với các đặc tính ban đầu cũng như hiệu ứng của nó trong chương trình.

Tất cả các biến trong code đều thuộc một trong hai loại:

  • các biến tự động (automatic variables), tạo và hủy, đôi khi lặp đi lặp lại, và được thực hiện một cách tự động khi chạy chương trình
  • các biến tĩnh (static variables), tồn tại liên tục trong quá trình thực hiện toàn bộ chương trình

Các ngôn ngữ lập trình C và C++ giả định rằng tất cả các biến được mặc định là tự động trừ khi chúng được khai báo là biến tĩnh một cách tường minh. Điều thú vị là từ khóa auto vẫn thường được sử dụng trong các phiên bản cũ của ngôn ngữ C để đánh dấu các biến tự động một cách tường minh.

Từ khoá được bảo toàn để đảm bảo khả năng tương thích ngược và vẫn được công nhận bởi các trình biên dịch C++, mặc dù ngày nay nó rất hiếm khi được sử dụng.

Hãy xem chương trình sau →

Biến var được khai báo bên trong hàm fun và là biến tự động. Chúng tôi đã sử dụng từ khóa auto, nhưng hành vi của chương trình sẽ vẫn như cũ nếu bạn xóa từ khoá auto đi (bạn nên code thử và kiểm chứng). Biến được tạo ra mỗi khi hàm fun được gọi và biến được hủy mỗi lần hàm kết thúc.

Điều này có nghĩa là, bất kể số lượng lời gọi, hàm fun sẽ luôn luôn cho ra kết quả giống nhau:

var = 100
var = 100
var = 100
var = 100
var = 100