这个C++语句是什么意思?

lad*_*afa 2 c++

void max_idxs(vector<int> &pidxs){
   vector<fragment *> ids;
   max_ids(ids);

   for(size_t i = 0; i < ids.size(); i++){
    int weight_idx = ids[i]->weight_idx; //Get weight index
   }
}
Run Code Online (Sandbox Code Playgroud)

在这个C++代码中,它是什么意思int weight_idx = ids[i]->weight_idx;

什么->意思?

谢谢!

Bor*_*lid 17

x->y手段(*x).y.换句话说,"获取指向的地址x,并y从那里的对象获取变量".在这里,它意味着它将weight_idxfragment指向的那里获得ids[i].

  • @ladyfafa如果你想编写C++,你将_have_理解指针. (11认同)
  • @ladyfafa:不幸的是,为了理解这样的东西,你将不得不理解C++指针.实际上没有另一种相同的方法可以做到这一点. (5认同)
  • 好吧,如果你出于任何原因_hate_的` - >`符号,你可能会做`fragment&f =*ids [i]; f.weight_idx`. (2认同)