如果我尝试编译以下代码,则会出现错误:
vector<string> articles;
articles.push_back("Article 1...");
articles.push_back("Article 2...");
articles.push_back("Article 3...");
articles.push_back("Article 4...");
vector<string>::iterator beg = articles.begin(), end = articles.end();
vector<string>::iterator mid = (end - beg) / 2;
并且仅在我将 mid 更改为:
vector<string>::iterator mid = articles.begin() + (end - beg) / 2;
初始化有什么.begin()
变化?
另外,下面的代码不应该也给出中间点吗?(添加 .begin() 因为没有它就无法编译)
vector<string>::iterator mid = articles.begin() + articles.size() / 2;
它给出了相同的结果。
谢谢。