程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 《C++ Primer》學習筆記:迭代器介紹

《C++ Primer》學習筆記:迭代器介紹

編輯:關於C++

《C++ Primer》學習筆記:迭代器介紹。本站提示廣大學習愛好者:(《C++ Primer》學習筆記:迭代器介紹)文章只能為提供參考,不一定能成為您想要的結果。以下是《C++ Primer》學習筆記:迭代器介紹正文


《C++Primer》(第五版)中,3.4.1的例題中使用一個名為text的字符串向量存放文本文件中的數據,輸出text中的內容,剛開始我這樣寫:

#include <iostream>
#include <string>
#include <vector>
#include <iterator>


using namespace std;

int main(){
    string text("name");
    for (auto it = text.cbegin();
        it != text.cend() && !it ->empty(); ++it)
        cout << *it << endl;
    return 0;
}

結果報錯:

 error: member reference base type 'const char' is not a structure or
      union

將string text("name");改為 const vector<string> text{"name"};就不會出錯了。需要注意的是加上#include<iterator>頭文件。

原因我想可能是const char*指向string對象,但是卻不含member function,,後面用到的(*it) =text.empty()的class type中需要用到member function,所以才報錯。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved