箭头操作符和点操作符
看了c++ 《primer 4th edition》 关于箭头和点操作符的用法。
说箭头操作符用在指针身上,点操作符是用在对象身上。
但是他的书本上的以下实例中却这样用: (*beg)->remMsg(this); 文中的beg是迭代器,迭代器本身应该就是个指针!那么解引用后就是对象了!这时应该用(*beg).remMsg(this); 或者beg->remMsg(this)才对吧?会不会是书本的实例错了呢?还是我理解上有错误呢?请大家指教!
-------------------------------------以下是课本正文-----------------------
The remove_Msg_from_Folders Member
The implementation of the remove_Msg_from_Folders function is similar to that of put_Msg_in_Folders, except that this time we'll call remMsg to remove this Message from each Folder pointed to by folders:
// remove this Message from corresponding Folders
void Message::remove_Msg_from_Folders()
{
// remove this message from corresponding folders
for(std::set<Folder*>::const_iterator beg =
folders.begin (); beg != folders.end (); ++beg)
(*beg)->remMsg(this); // *beg points to a Folder
}
-----------------------------------------------------------------------