1

コードに時間を費やすことで、ますます混乱しています。アドレスではなく、イテレータの内容が欲しいだけです。これが私のコードです:

Peptides tempPep;
tempPep.set_PEPTIDE("AABF");
std::vector<Peptides>::iterator itPep = std::find_if (this->get_PepList().begin(), this->get_PepList().end(),boost::bind(&Peptides::Peptide_comparison, _1,tempPep)); 
if (itPep != this->get_PepList().end()) 
{

   Spectra tempSp;
   tempSp.set_Charge(1127);
   tempSp.set_Snum(1);
   std::cout << "without iterator "<< this->get_PepList()[0].get_New_S_num() << std::endl; 
   // output -> 0
   std::cout << "with iterator" << itPep->get_New_S_num() <<std::endl;
   //output -> 1129859637
}
4

2 に答える 2

1

コンテンツが必要な場合は、それをポイントします。*itPep

イテレータは*演算子をオーバーロードし、データを返します。(知らなかったので訂正ありがとうございます!)

于 2013-05-13T20:05:44.060 に答える