下面是自己编写的一个例子
#include <string>
#include <iostream>
#include <memory>
using namespace std;
class B
{
public:
B() = default;
B(const string &str):arr({"sss1","sss2","sss3","sss4"}),curr(0){}
string & operator*()
{
return arr[curr];
}
string * operator->()
{
return & this->operator*();
}
private:
size_t curr = 0;
string arr[100] = {"str1","str2","str3","str4"};
};