C++ Xcode 4.3调试器:在用于在Xcode 3中工作的链接列表中查看模板变量
自从移动到Xcode 3到4.3之后,在调试器中,我无法查看嵌套模板类(如链表)中的成员变量。有没有人想过如何看一看? 下面是一个示例,后面是我在调试器的“变量”窗口中可以看到和不能看到的内容:C++ Xcode 4.3调试器:在用于在Xcode 3中工作的链接列表中查看模板变量,c++,linked-list,xcode4.3,debuggervisualizer,C++,Linked List,Xcode4.3,Debuggervisualizer,自从移动到Xcode 3到4.3之后,在调试器中,我无法查看嵌套模板类(如链表)中的成员变量。有没有人想过如何看一看? 下面是一个示例,后面是我在调试器的“变量”窗口中可以看到和不能看到的内容: template<class T> class linkedList; template<class T> class listItem; template<class T> class listItem { public: T data; list
template<class T> class linkedList;
template<class T> class listItem;
template<class T> class listItem {
public:
T data;
listItem<T> *previous, *next;
listItem(T x):data(x), previous(0), next(0){}
};
template<class T> class linkedList{
public:
int length;
listItem<T> *first,*last;
linkedList(void): first(0), last(0), length(0) {}
~linkedList(void){Clear();}
void Append(T x);
void Clear(void){
while(length>0) DeleteLast();}
void DeleteLast(void);
};
template<class T> void linkedList<T>::Append (T x) {
listItem<T> *item = new listItem<T>(x);
if (length == 0) {first = item;}
else {
item->previous = last;
last->next = item;}
item->next = NULL;
last = item;
length++;
}//Append
template<class T> void linkedList<T>::DeleteLast (void) {
if (length > 0) {
listItem<T> *item = last;
if (length == 1) {
first = last = NULL;
length = 0;
delete item; item = NULL;
return;}
else if (length == 2) {
last = item->previous;
last->next = NULL;
first = last;}
else {
item->previous->next = NULL;
last = item->previous;}
length--;
delete item;item=NULL;
}
}//DeleteLast
int main(){
linkedList<int> theList;
theList.Append(4);
theList.Append(5);
return 0;
}
模板类链接列表;
模板类列表项;
模板类listItem{
公众:
T数据;
列表项*上一个,*下一个;
listItem(tx):数据(x)、上一个(0)、下一个(0){
};
模板类链接列表{
公众:
整数长度;
列表项*第一个,*最后一个;
linkedList(void):第一个(0),最后一个(0),长度(0){
~linkedList(void){Clear();}
无效附加(tx);
无效清除(无效){
而(长度>0)DeleteLast();}
无效删除最后一个(无效);
};
模板无效链接列表::追加(T x){
listItem*item=新的listItem(x);
如果(长度==0){first=item;}
否则{
项目->上一个=最后一个;
最后->下一步=项目;}
item->next=NULL;
最后一项=项目;
长度++;
}//附加
模板void linkedList::DeleteLast(void){
如果(长度>0){
listItem*项目=最后一个;
如果(长度==1){
first=last=NULL;
长度=0;
删除项;项=NULL;
返回;}
else if(长度==2){
最后一个=项目->上一个;
last->next=NULL;
第一个=最后一个;}
否则{
项目->上一个->下一个=空;
最后一个=项目->上一个;}
长度--;
删除项;项=NULL;
}
}//删除最后一个
int main(){
链接列表;
附加列表(4);
附加列表(5);
返回0;
}
在“变量”窗口中,我一步一步地浏览并观察,最终得出以下结论:
theList= (linkedList<int>)
length= (int) 2
first= (listItem*) 0x0000000100100a80
last= (listItem*) 0x0000000100100aa0
theList=(linkedList)
长度=(int)2
第一个=(列表项*)0x0000000100A80
last=(listItem*)0x0000000100AA0
我想看到的不仅仅是“first”和“last”项的地址,还有它们的解引用内容,即整数4和5。此信息在Xcode 3中可见
有什么想法吗