答案:使用常數迭代器存取 STL 容器元素,無需修改內容。詳細描述:常數迭代器透過 cbegin() 和 cend() 方法獲取,用於遍歷容器而不修改元素。使用 * 運算子存取元素,傳回元素參考。使用 ++ 和 -- 運算子前進和後退迭代器。使用 == 和 != 運算子進行比較,判斷是否到達容器末端。
如何使用常數迭代器存取C++ STL 容器
在C++ 中,STL 容器提供了多種迭代器類型,包括begin()
和end()
方法傳回的常規迭代器,以及cbegin()
和cend()
方法傳回的常量迭代器。常量迭代器用於遍歷容器而不修改其內容。
語法:
常數迭代器與常規迭代器的語法相同。例如,在下列程式碼中,it
是一個指向vector
容器中元素的常數迭代器:
const vectorv = {1, 2, 3, 4, 5}; const vector ::const_iterator it = v.cbegin();
存取元素:
要存取常數迭代器指向的元素,可以使用*
運算子。與常規迭代器一樣,*it
傳回指向元素的參考:
cout << *it << endl; // 输出:1
#前進與後退:
##與常規迭代器類似,常數迭代器也可以使用++和
--運算子進行前進和後退:
++it; // 前进到下一个元素 --it; // 后退到上一个元素
比較:##常數迭代器也可以用
==和!=
運算子來比較:if (it == v.cend()) { cout << "迭代器指向容器的末尾" << endl; }
以下程式碼範例示範如何使用常數迭代器遍歷
vector容器:
#include #include int main() { const vector v = {1, 2, 3, 4, 5}; // 使用常量迭代器遍历容器 for (const vector::const_iterator it = v.cbegin(); it != v.cend(); ++it) { cout << *it << " "; // 输出:1 2 3 4 5 } return 0; }
登入後複製
以上是如何使用常數迭代器存取C++ STL容器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
-
2024-08-17 22:50:09
-
2024-08-17 22:50:02
-
2024-08-17 22:32:17
-
2024-08-17 22:31:32
-
2024-08-17 22:01:02
-
2024-08-17 21:49:11
-
2024-08-17 21:45:11
-
2024-08-17 21:40:32
-
2024-08-17 21:40:18
-
2024-08-17 21:40:11
最新問題
捕獲Guzzle的異常
我正在嘗試捕獲在我正在開發的API上運行的一組測試中的異常,並且我正在使用Guzzle來使用API方法。我已經將測試包裝在try/catch區塊中,但它仍然拋出未處理的異常錯誤...
來自於 2023-11-16 14:36:03
0
12
290
執行單元測試時,Vue Pinia的函數在onMounted中未定義
我有一個組件和一個Pinia存儲,其中包含狀態和一些操作。程式碼在瀏覽器和E2E(cypress)測試中運行得非常好,但在單元測試中失敗。我正在使用vue-testing-util...
來自於 2023-10-31 21:58:42
0
1
204
ES6 Map中使用Array物件作為鍵
我正在嘗試將我的程式碼更新到ES6,因為我正在使用Node4.0並且到目前為止非常喜歡它的功能。但是,我對新的ES6Map資料結構有問題,因為當使用Array作為鍵時,它的行為與{...
來自於 2023-10-21 18:06:40
0
2
277
熱門推薦
熱門教學
更多>
-
-
php入門教程之一週學會PHP
4206651
-
JAVA 初級入門影片教學
2351041
-
小甲魚零基礎入門學習Python影片教學
493328
-
PHP 零基礎入門教學
826342