[英]Regarding templates for struct in C++
方法1:
template <class T>
struct node{
T data;
struct node *next;
};
方法2:
template <class T>
struct node{
T data;
struct node<T> *next; // different from above
};
它們都可以編譯並針對鏈表正確運行。
沒有區別嗎? 如果沒有,為什么?
沒有區別。
這樣做的原因是,為了方便起見,在模板化的類/結構中,該類/結構的裸名是指當前模板實例。
如果您有六個模板化參數,而這些模板化參數本身具有模板化參數,而您只想聲明一個指針,則此功能非常方便:-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.