-2
我是C++的新手(儘管我有C的經驗)並且無法理解這個函數。
我的問題是專門與行:
std::tuple<std::string,std::string> tmp(protein[i], protein[i+order]) ;
不能理解函數(C++)
有人能解釋一下?
std::vector< std::tuple< std::string,std::string > > domPairSet(std::vector<std::string> protein, int order) {
/*
Create a set of domain pair of a specified order from a protein
\param protein1
\param order
\return pairsOfDom
*/
std::vector< std::tuple< std::string,std::string > > pairsOfDom ;
int cnt;
for (unsigned int i = 0 ; i < protein.size() - order ; i ++) {
std::tuple<std::string,std::string> tmp(protein[i], protein[i+order]) ;
cnt = std::count(pairsOfDom.begin(), pairsOfDom.end(), tmp) ;
if (cnt == 0)
pairsOfDom.push_back(tmp);
}
return pairsOfDom ;
}
它創建並初始化一個名爲'tmp'的變量。這個類型是'std :: tuple',它簡單地表示「一對字符串」。 –
你需要閱讀C++ - 可能需要一個在線編程教程或兩個 - 在試圖理解它的代碼之前。這不是一種沒有太多指導就可以解析的語言。 –
問題標題和生物信息學標籤都與問題無關。 (就像'福爾摩斯'與你正在閱讀的神祕小說小說在句子末尾完全停止的目的是無關的。)請[編輯]你的問題,詢問它是什麼讓你很困惑。我猜想[tuple](http://en.cppreference.com/w/cpp/utility/tuple)可以做些什麼,但我無法理解你的想法。 –