I read a C++20 proposal that was adopted about this subject and the article said.
The expression
(*iter).xand the expressioniter->xhave the same semantics. For amove_iterator,*iteris anxvalue.iter->x, is anlvalue. Consequently,(*iter).xanditer->xcan produce different behaviors.
Is this exactly why it is deprecated in C ++ 20? Are there any other concepts and disadvantages that should not be used? Is there anyone who could explain it better with the code example,whats the best practice?