có điều gì đó làm tôi thất vọng.Biến địa phương tĩnh trong các phương pháp thực hành kém?
Trong chương trình không phải luồng, tốt hơn là nên có biến tĩnh cục bộ (bên trong phương thức) hoặc thành viên lớp tĩnh?
Trong ví dụ này:
class C{
public:
C(){};
void foo();
};
void C::foo(){
static int bar = 0;
bar++;
printf("%d\n",bar);
}
Có được coi là một thực tế xấu nếu bar
sẽ chỉ được sử dụng trong C::foo()
?
Sự khởi đầu của câu trả lời của bạn có vẻ đầy hứa hẹn, nhưng bạn có thể xây dựng được không? –
@IIyan, ngữ nghĩa trong mã của anh ấy là "in bao nhiêu lần 'foo' được gọi!". Từ những gì người ta có thể thấy trong câu hỏi của mình, điều này không liên quan gì đến trạng thái của lớp, và do đó sẽ là sai lầm khi đặt biến đó làm thành viên lớp tĩnh. Tuy nhiên, nếu 'foo' sẽ là một hàm tạo bản sao và' bar' sẽ được gọi là 'numberOfCopies', nó sẽ là một ứng cử viên tốt cho một thành viên lớp tĩnh.Vì vậy, nó phụ thuộc vào cách nó được sử dụng. –