I read additional documentation and see the following at http://www.boost.org/doc/libs/1_54_0/doc/html/lambda/le_in_details.html :
Operators that cannot be overloaded
Some operators cannot be overloaded at all (::,.,. *). For some operators, the requirements for return types do not allow them to be overloaded to create lambda functors. These operators are →. , →, new, new [], delete, delete [] and ?: (conditional operator).
So what is the operator ->. ? I tried Google and http://www.symbolhound.com/ , but got nothing, a search on N3337 gives 1 result, which -> at the end of the sentence, and Visual Studio 2012 will not compile:
class xT { bool operator ->. () {} }; std::string* p; p->.size(); std::auto_ptr<std::string> a; a->.size();
I believe that the author intentionally wrote ->. , since -> and . also included, but what is ->. or why is he here?
c ++ boost operator-keyword
jingyu9575
source share