我想實現我自己的標準兼容鏈表,我似乎無法弄清楚爲什麼你會想要一個T分配器。在我的實現中,節點類擁有T本身,而不是指向存儲在其他地方的T的指針,所以T永遠不會被明確分配,而只會被創建爲節點的一部分。我會明白爲什麼你可能想要一個節點分配器,但爲什麼一個T?爲什麼std :: list有一個T類型的分配器?
這裏是我的節點的簡化版本。
class Node {
Node* next, prev;
T data; // Not T*
}
我想實現我自己的標準兼容鏈表,我似乎無法弄清楚爲什麼你會想要一個T分配器。在我的實現中,節點類擁有T本身,而不是指向存儲在其他地方的T的指針,所以T永遠不會被明確分配,而只會被創建爲節點的一部分。我會明白爲什麼你可能想要一個節點分配器,但爲什麼一個T?爲什麼std :: list有一個T類型的分配器?
這裏是我的節點的簡化版本。
class Node {
Node* next, prev;
T data; // Not T*
}
它在我知道的所有實現中內部立即反彈。您不能確切地要求用戶爲您的內部節點類型提供分配器。 –