Từ khóa tĩnh có liên quan đến liên kết nội bộ nói chung, nhưng từ khóa tĩnh được sử dụng bên trong một lớp có liên kết bên ngoài phải không? Các biến m, n bên dưới có thể truy cập được bên ngoài tệp lớp.từ khóa tĩnh bên trong một lớp và bên ngoài nó
class c {
int i;
int j;
static int m;
static int n;
public:
void zap();
static void clear();
};
'thành viên static' thuộc về lớp * *; đối với các biến, chúng có thể truy cập được mà không cần đối tượng và được chia sẻ giữa các trường hợp, ví dụ: 'struct Foo {static void * bar; tĩnh void * fu(); } ', vì vậy' Foo :: bar' và 'Foo :: fu' là hợp pháp. – oldrinb
Nó không đúng theo yêu cầu của tiêu chuẩn, nhưng có thể (hoặc có thể không!) Giúp suy nghĩ của các thành viên tĩnh như là tĩnh theo ý nghĩa của một địa chỉ cố định thiết lập tại thời gian biên dịch, trong khi dữ liệu thành viên không tĩnh có thể được đặt trên ngăn xếp hoặc đống ở các địa chỉ được xác định thời gian chạy khác nhau. Các thành viên 'static' về cơ bản giống như các biến toàn cầu, ngoại trừ mã định danh của chúng rơi vào phạm vi của lớp khai báo chúng. –