C++ c++;访问单链表中的特定值

C++ c++;访问单链表中的特定值,c++,class,linked-list,C++,Class,Linked List,我的列表包含一个名称和一个校园id(CWID)。如何将列表中的cwid与传入的整数进行比较?我写了下面的psuedo代码来比较我要做的事情 void check_cwid(studentList& list, int cwid) { studentNode *p = list.head_; while(p != nullptr){ //Something like this if *p.cwid() == cwid //do something p = p-&g

我的列表包含一个名称和一个校园id(CWID)。如何将列表中的cwid与传入的整数进行比较?我写了下面的psuedo代码来比较我要做的事情

void check_cwid(studentList& list, int cwid) {

studentNode *p = list.head_;

while(p != nullptr){

 //Something like this 
   if *p.cwid() == cwid
  //do something

  p = p->next_;

}
我正在努力完成上面代码中的内容。我只是不知道如何比较我清单上的具体项目。下面是我的整个实践项目

#include <iostream>
using namespace std;

class student {

public:

    student(const string& sname = "", int cwid = 0) : sname_(sname), cwid_(cwid) {}

    string sname() const {return sname_;}
    int cwid() const {return cwid_;}

    friend ostream& operator <<(ostream& os, student st){
        return os << endl << st.sname_ << endl << st.cwid_ << endl;
    }



private:

    string sname_;
    int cwid_;

};


struct studentNode {

    studentNode(const string& sname, int cwid, studentNode* next=nullptr) :st_(sname, cwid), next_(next) {}

    studentNode(student& st, studentNode* next=nullptr) : st_(st), next_(next) {}

    friend ostream& operator << (ostream& os, studentNode node) {
        return os << node.st_;
    }


    studentNode* next_;
    student st_;

};

struct studentList {

    studentList() : head_(nullptr), size_(0) {}

    studentNode* head_;
    size_t size_;

};


///******************** what im trying to do
void check_cwid(studentList& list, int cwid) {

    studentNode *p = list.head_;

    while(p != nullptr){




    }
}
#包括
使用名称空间std;
班级学生{
公众:
学生(const string&sname=“”,int-cwid=0):sname(sname),cwid(cwid){}
字符串sname()常量{return sname_;}
int cwid()常量{return cwid_;}

朋友ostream&operator这是一个巨大的代码山,里面有大量的空白。你能清理它并删除任何与手头问题无关的内容吗?好吧,现在还有很多空白,再加上神秘的代码,分散了问题的核心,不管是什么。继续阅读。你能少读一点吗评论我的代码并帮助我解决它。显然,我的重点是走出去。我是新来的,放松点。因为你是新来的,所以我要花时间来解释:演示很重要。这些东西滚动的方式很糟糕,你拥有的代码越多,就越难看到发生了什么。修复了。你不能自己做吗?刚刚写的st I代替st_è。谢谢。我试过了,但出于某种原因出现了错误。但现在它起作用了。谢谢你!谢谢你的时间和帮助。
int check_cwid(studentList& list, int cwid) {

studentNode *p = list.head_;
int list_size = list.size_;
while(list_size--){

 //Something like this 
   if (p -> st_.cwid() == cwid)
  //do something
   break;
   else
       p = p -> next_;

}