2016-06-09 70 views
0

我正在學習C++,並且遇到一個常見問題:找不到函數名稱背後的原因。哪裏可以找到什麼函數名稱的立場? C++

例如,ifstream seekg()函數。我試圖查找功能上類似的網站:

http://www.cplusplus.com/reference/istream/istream/seekg/

https://en.wikipedia.org/wiki/Seekg

http://en.cppreference.com/w/cpp/io/basic_istream/seekg

很多時候,這些能源會給我一個線索,爲什麼它被命名爲「seekg 」。爲什麼最後會有'g'?爲什麼thestream有seekp(而不是g)?

知道這樣的信息將使記憶功能名稱變得更容易。基本上,我正在尋找一個資源來查找函數名稱的詞源。 :)

感謝您的幫助,

+0

Cppreference有一個習慣,注意特別隱晦的詞源,如strpbrk和strcspn – Cubbi

回答

3

我可以在這裏回答具體問題。 seekg是指通過查詢得到的區域,而seekp可用於放置區域

區分的原因是流支持分離區域 - 一個用於閱讀,通常被稱爲源(獲取區域),另一個用於書寫,被稱爲匯(放置區域)。通常只有一個工作流只限於其中的一個 - std::ifstream只能獲得區域,而std::ofstream已經放置區域 - 但偶爾您會遇到這兩個問題。

+0

正確,但爲什麼'eback'和'pbase'? ;) –

+0

@ T.C。我明確聲稱能夠回答**這個具體問題** :))pbase和eback因爲我學會了他們而迷惑了我:) – SergeyA

+2

@TC Put基礎,回退結束(根據Josuttis書) – Cubbi