Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Template và biến static trong C++


Trong hướng dẫn này, chúng ta sẽ thảo luận về template và biến static trong C++.

Trong trường hợp template hàm và template lớp, mỗi thể hiện (instance) của template có bản sao cục bộ riêng của các biến static.

Ví dụ

#include <iostream>
using namespace std;

template <typename T>
void fun(const T& x) {
    static int i = 10;
    cout << ++i;
    return;
}

int main() {
    fun<int>(1);  // in 11
    cout << endl;
    fun<int>(2);  // in 12
    cout << endl;
    fun<double>(1.1);  // in 11 lại (instance riêng)
    cout << endl;
    getchar();
    return 0;
}

Đầu ra

11
12
11