-1
A
回答
2
我知道靜態成員不屬於對象。但爲什麼這樣呢?
由於您使用static
成員,只要你有一定的數量,所有對象 「共享」,說,例如實例類Foo擁有的數量。這樣的「共享」成員不能屬於特定實例。當正在創建新的Foo
對象時,則會增加靜態變量num_instances
。如果變量不是靜態的,那麼每個新的Foo都將以一個乾淨的狀態開始,並且不可能知道其他Foo的。例如:
#include <iostream>
class Foo
{
static int num_instances; // all instances share this variable
public:
Foo()
{
++num_instances; // increment the number of instances
}
static int get_num()
{
return num_instances;
}
};
int Foo::num_instances = 0;
int main()
{
Foo foo1, foo2;
std::cout << "We have " << Foo::get_num() << " Foo's" << std::endl;
}
而且,當進行靜態數據成員分配的內存?
靜態對象的內存在程序啓動之前分配。
相關問題
- 1. C++靜態對象中的類的靜態數據成員和靜態方法?
- 2. 什麼是非靜態成員函數?
- 3. 靜態成員的Qt對象在C++
- 4. 爲什麼類的靜態成員不能在C++中重載?
- 5. 爲什麼靜態數據成員不能與非靜態數據成員具有相同的名稱?
- 6. 爲什麼靜態數據成員不能被初始化?
- 7. 爲什麼一個類允許自己擁有一個靜態成員,但不是一個非靜態成員?
- 8. 爲什麼我不能從C#中的內部類引用靜態成員?
- 9. 靜態成員對象
- 10. 靜態成員是否輸入對象?
- 11. 非靜態const數據成員的要點是什麼?
- 12. 爲什麼ViewModelLocator成員不是靜態的
- 13. 爲什麼只有Java中的靜態內部類具有靜態成員?
- 14. 在類中使用靜態成員對象有什麼問題?
- 15. 爲什麼檢查訪問規範的靜態數據成員
- 16. 爲什麼不能在Kotlin伴侶對象內部的對象在其他成員可以「靜態」訪問?
- 17. C++ dllimport的靜態數據成員
- 18. 類中的同一類的靜態對象與其數據成員的用法是什麼?
- 19. 爲什麼我們不能在靜態成員函數中使用const成員?
- 20. 在C++中,靜態對象是否可以超出其靜態成員變量?
- 21. 爲什麼在單例類中實例成員是靜態的?
- 22. @作爲C#中成員名稱的一部分的目的是什麼?
- 23. 爲什麼靜態成員函數需要根據§13.3.1/ 4有一個隱含的對象參數?
- 24. 從空對象的成員函數初始化靜態成員
- 25. C++靜態數據成員初始化
- 26. 是不是一個非靜態數據成員或基類
- 27. C++靜態成員
- 28. C++ 11在沒有對象的非靜態數據成員上對齊
- 29. 初始化一個類中的靜態數據成員(類)C++
- 30. 靜態數據成員
因爲他們不?因爲這是他們的目的?因爲這就是'靜態'成員_mean_? – 2015-04-05 19:28:11