Type inference (suy diễn kiểu) là việc tự động phát hiện kiểu dữ liệu của biểu thức trong ngôn ngữ lập trình. Tính năng có trong một số ngôn ngữ tĩnh mạnh. Trong C++, từ khóa auto (từ C++11) dùng cho suy diễn kiểu tự động. Ví dụ: muốn tạo iterator duyệt vector, dùng auto.
Ví dụ
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> arr(10);
for(auto it = arr.begin(); it != arr.end(); ++it) {
cin >> *it;
}
return 0;
}
Trong chương trình trên, it tự động nhận kiểu std::vector<int>::iterator.