C++(20):自定义类型实现基于范围的for循环

编程入门 行业动态 更新时间:2024-10-28 07:25:17

C++(20):<a href=https://www.elefans.com/category/jswz/34/1771438.html style=自定义类型实现基于范围的for循环"/>

C++(20):自定义类型实现基于范围的for循环

C++自定义类型,可以通过实现begin和end作为成员函数,来支持基于范围的for循环

#include <iostream>class D{
public:int* begin(){return m_data;}int* end(){return m_data + 5;}
private:int m_data[5]{1, 2, 3, 4, 5};
};int main()
{D d;for (int i : d){std::cout << i << std::endl;}return 0;
}

运行程序输出:

1

2

3

4

5

 C++20允许将begin和end做为非成员函数实现以支持基于范围的for循环:

#include <iostream>class D{
public:int m_data[5]{1, 2, 3, 4, 5};
};int* begin(D& d)
{return d.m_data;
}
int* end(D& d)
{return d.m_data + 5;
}int main()
{D d;for (int i : d){std::cout << i << std::endl;}return 0;
}

运行程序输出:

1

2

3

4

5

更多推荐

C++(20):自定义类型实现基于范围的for循环

本文发布于:2023-11-15 05:31:14,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1594512.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:自定义   类型

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!