5
返回static
成員變量的成員函數是否也應該是static
?返回靜態變量的成員函數
例如:
struct T {
static int i;
static int getNumber() {
return i;
}
};
應該getNumber
是static
與否?
返回static
成員變量的成員函數是否也應該是static
?返回靜態變量的成員函數
例如:
struct T {
static int i;
static int getNumber() {
return i;
}
};
應該getNumber
是static
與否?
通常,是的。
如果該變量沒有任何每個實例的狀態,那麼函數在返回之前可能執行的每個實例的邏輯是什麼?
這不是強制性的。你可以編寫一個返回靜態變量的成員函數。你不能相反(編寫一個返回實例變量的靜態函數)。
作爲一個例子,你可能想要返回一個靜態成員,想象一下這個類持有一個狀態變量的情況,並且基於你將返回一個靜態值的狀態。不是說這是好的設計,但它不是完全不可思議的
@Ben,當我發表評論的時候,我正在考慮其他的東西(例如,記錄實例計數的hokey方式)......反正 - 刪除了狡猾的評論... – Nim
@Nim:我想知道是否有人可能會提出這樣的事情。你不會生氣的。但是,你很可能不想在一個簡單的吸氣器中做到這一點。 –