Thông thường các thành viên/đối tượng tĩnh của một lớp giống nhau cho mỗi cá thể của lớp có thành viên/đối tượng tĩnh. Dù sao thì sao nếu đối tượng tĩnh là một phần của một lớp mẫu và cũng phụ thuộc vào đối số mẫu? Ví dụ, như thế này:C++ thành phần mẫu tĩnh, một phiên bản cho mỗi loại mẫu?
template<class T>
class A{
public:
static myObject<T> obj;
}
Nếu tôi sẽ đúc một đối tượng của A như int
và một số khác như float
, tôi đoán sẽ có hai obj
, một cho mỗi loại?
Nếu tôi tạo nhiều đối tượng A như loại int
và nhiều float
s, nó vẫn là hai trường hợp obj
, vì tôi chỉ sử dụng hai loại khác nhau?
"khác nhau"? ;) – jamesdlin
Vì câu hỏi là về các thành viên tĩnh, chương trình ví dụ sẽ rõ ràng hơn nếu nó không tạo ra bất kỳ trường hợp Foo nào. Thay vì chỉ định và in ra thanh1.s, bạn có thể sử dụng Foo :: s thay thế. –
@jamesdlin Ug. Đã sửa. Tôi không nên cố gắng để lật logic xung quanh trong một câu và sau đó không đọc bằng chứng đúng cách. – Yacoby