新型for循环C++
时间: 2023-10-24 16:31:43 浏览: 54
新型for循环是一种在C++11中引入的语法结构,可以更简洁地遍历数组或类对象的元素。它的语法格式是在for循环的括号中声明一个引用变量,并使用冒号(:)将数组或类对象传递给这个引用变量。
对于数组,新型for循环可以直接遍历数组的元素,而无需使用索引来访问每个元素。例如,可以使用以下语法遍历名为data的整型数组中的元素:
int data[10];
for (int& one : data) {
// ...
}
在循环体内,引用变量one将依次指向数组data的每个元素。你可以使用one来操作或访问每个元素。
对于类对象,如果想要在类对象上使用新型for循环,需要在类的定义中提供begin()和end()函数,以便循环体内能够正确访问每个元素。具体的实现方式可以参考以下代码示例:
class Test {
public:
int* begin() { /* 返回指向第一个元素的指针 */ }
int* end() { /* 返回指向最后一个元素之后的位置的指针 */ }
};
int main(void) {
Test obj;
for (const int& one : obj) {
std::cout << one << "\n";
}
return 0;
}
在循环体内,引用变量one将依次指向类对象obj中的每个元素。你可以使用one来操作或访问每个元素。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [C++在类对象上使用新式for循环](https://blog.csdn.net/whahu1989/article/details/122392203)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]