我在類中有這樣的方法。通過引用傳遞const值的C++
Word Sentence::parse_word(std::string &word) {
}
一切工作正常。 經過一番考慮後,我得出結論,這是不好的。 因爲在這個方法裏面,std::string word
沒有改變。
所以最好將它作爲const std::string &word
來傳遞,以使方法的使用更加明顯和清晰。
而且具有這種簽名的方法我使不可能調用它像parse_word(string("some_text))
-
所以我決定改變簽名:
Word Sentence::parse_word(const string &word) {
string::iterator iter1= word.begin();
iter1=find(word.begin(),word.end(),'/');
/*some other code */
}
即我不改變這個方法中的那個字符串。
我知道我在這裏使用find等方法來接受非包含值,但最好是將string作爲const來傳遞!
,並因爲它的懷疑也不能因爲它編譯:
我不知道,是它在所有好的東西我嘗試做?
如何將const字符串轉換爲字符串? (我嘗試使用C風格的轉型或const_cast - 沒有成功)。
在此先感謝!