一个函数内部有一段这样的代码:
std::listCommandLineInterface::Client::iterator it = begin();
其中CommandLineInterface::Client也是一个类,CommandLineInterface是一个类,里面又定义了一个类Client
然后下面有这样的语句(其中address是一个入参):
for (;it != end(); ++it)
{
if (it->Address() == address)
{
it->Seen();
return &(*it);
}
}
我的疑问在于:
std::list< >::iterator it 定义的这个it,看样子是个指针吗?
那个begin()和end()是独立于it之外的函数?
这个函数每次运行都会定义一下这个it,难道第一次定义后,之后的每次都不会重复定义了吗?否则后面的那些比较就变得没意义了啊
这段代码没看明白,单步跟踪进去也没看明白,但是整个系统执行到这里,总是得不到想要的,退出这个程序后就走到失败的里面去了