请教为什么有->运算符,而没有->&运算符

请问为什么有->*运算符,而没有->&运算符
如题:*和&是相反的运算符呀
------解决思路----------------------
&Class::Member
------解决思路----------------------
//C++ Operators
//  Operators specify an evaluation to be performed on one of the following:
//    One operand (unary operator)
//    Two operands (binary operator)
//    Three operands (ternary operator)
//  The C++ language includes all C operators and adds several new operators.
//  Table 1.1 lists the operators available in Microsoft C++.
//  Operators follow a strict precedence which defines the evaluation order of
//expressions containing these operators.  Operators associate with either the
//expression on their left or the expression on their right;    this is called
//“associativity.” Operators in the same group have equal precedence and are
//evaluated left to right in an expression unless explicitly forced by a pair of
//parentheses, ( ).
//  Table 1.1 shows the precedence and associativity of C++ operators
//  (from highest to lowest precedence).
//
//Table 1.1   C++ Operator Precedence and Associativity
// The highest precedence level is at the top of the table.
//+------------------+-----------------------------------------+---------------+
//
------解决思路----------------------
 Operator         
------解决思路----------------------
 Name or Meaning                         
------解决思路----------------------
 Associativity 
------解决思路----------------------

//+------------------+-----------------------------------------+---------------+
//
------解决思路----------------------
 ::               
------解决思路----------------------
 Scope resolution                        
------解决思路----------------------
 None          
------解决思路----------------------

//
------解决思路----------------------
 ::               
------解决思路----------------------
 Global                                  
------解决思路----------------------
 None          
------解决思路----------------------

//
------解决思路----------------------
 [ ]              
------解决思路----------------------
 Array subscript                         
------解决思路----------------------
 Left to right 
------解决思路----------------------

//
------解决思路----------------------
 ( )              
------解决思路----------------------
 Function call                           
------解决思路----------------------
 Left to right 
------解决思路----------------------

//
------解决思路----------------------
 ( )              
------解决思路----------------------
 Conversion                              
------解决思路----------------------
 None          
------解决思路----------------------

//
------解决思路----------------------
 .                
------解决思路----------------------
 Member selection (object)               
------解决思路----------------------
 Left to right 
------解决思路----------------------

//
------解决思路----------------------
 ->               
------解决思路----------------------
 Member selection (pointer)              
------解决思路----------------------
 Left to right 
------解决思路----------------------

//
------解决思路----------------------
 ++               
------解决思路----------------------
 Postfix increment                       
------解决思路----------------------
 None          
------解决思路----------------------

//
------解决思路----------------------
 --               
------解决思路----------------------
 Postfix decrement                       
------解决思路----------------------
 None          
------解决思路----------------------

//
------解决思路----------------------
 new              
------解决思路----------------------
 Allocate object                         
------解决思路----------------------
 None          
------解决思路----------------------

//
------解决思路----------------------
 delete           
------解决思路----------------------
 Deallocate object                       
------解决思路----------------------
 None          
------解决思路----------------------

//
------解决思路----------------------
 delete[ ]        
------解决思路----------------------
 Deallocate object                       
------解决思路----------------------
 None          
------解决思路----------------------

//
------解决思路----------------------
 ++               
------解决思路----------------------
 Prefix increment                        
------解决思路----------------------
 None          
------解决思路----------------------

//
------解决思路----------------------
 --               
------解决思路----------------------
 Prefix decrement                        
------解决思路----------------------
 None          
------解决思路----------------------

//
------解决思路----------------------
 *                
------解决思路----------------------
 Dereference                             
------解决思路----------------------
 None          
------解决思路----------------------

//
------解决思路----------------------
 &                
------解决思路----------------------
 Address-of                              
------解决思路----------------------
 None          
------解决思路----------------------

//
------解决思路----------------------
 +                
------解决思路----------------------
 Unary plus                              
------解决思路----------------------
 None          
------解决思路----------------------

//
------解决思路----------------------
 -                
------解决思路----------------------
 Arithmetic negation (unary)             
------解决思路----------------------
 None          
------解决思路----------------------

//
------解决思路----------------------
 !                
------解决思路----------------------
 Logical NOT                             
------解决思路----------------------
 None          
------解决思路----------------------

//
------解决思路----------------------
 ~                
------解决思路----------------------
 Bitwise complement                      
------解决思路----------------------
 None          
------解决思路----------------------

//
------解决思路----------------------
 sizeof           
------解决思路----------------------
 Size of object                          
------解决思路----------------------
 None          
------解决思路----------------------

//
------解决思路----------------------
 sizeof ( )       
------解决思路----------------------
 Size of type                            
------解决思路----------------------
 None          
------解决思路----------------------

//
------解决思路----------------------
 typeid( )        
------解决思路----------------------
 type name                               
------解决思路----------------------
 None          
------解决思路----------------------

//
------解决思路----------------------
 (type)           
------解决思路----------------------
 Type cast (conversion)                  
------解决思路----------------------
 Right to left 
------解决思路----------------------

//
------解决思路----------------------
 const_cast       
------解决思路----------------------
 Type cast (conversion)                  
------解决思路----------------------
 None          
------解决思路----------------------

//
------解决思路----------------------
 dynamic_cast     
------解决思路----------------------
 Type cast (conversion)                  
------解决思路----------------------
 None          
------解决思路----------------------

//
------解决思路----------------------
 reinterpret_cast 
------解决思路----------------------
 Type cast (conversion)                  
------解决思路----------------------
 None          
------解决思路----------------------

//
------解决思路----------------------
 static_cast      
------解决思路----------------------
 Type cast (conversion)                  
------解决思路----------------------
 None          
------解决思路----------------------

//
------解决思路----------------------
 .*               
------解决思路----------------------
 Apply pointer to class member (objects) 
------解决思路----------------------
 Left to right 
------解决思路----------------------

//
------解决思路----------------------
 ->*              
------解决思路----------------------
 Dereference pointer to class member     
------解决思路----------------------
 Left to right 
------解决思路----------------------

//
------解决思路----------------------
 *                
------解决思路----------------------
 Multiplication                          
------解决思路----------------------
 Left to right 
------解决思路----------------------

//
------解决思路----------------------
 /                
------解决思路----------------------
 Division                                
------解决思路----------------------
 Left to right 
------解决思路----------------------

//
------解决思路----------------------
 %                
------解决思路----------------------
 Remainder (modulus)                     
------解决思路----------------------
 Left to right 
------解决思路----------------------

//
------解决思路----------------------
 +                
------解决思路----------------------
 Addition                                
------解决思路----------------------
 Left to right 
------解决思路----------------------

//
------解决思路----------------------
 -                
------解决思路----------------------
 Subtraction                             
------解决思路----------------------
 Left to right 
------解决思路----------------------

//
------解决思路----------------------
 <<               
------解决思路----------------------
 Left shift                              
------解决思路----------------------
 Left to right 
------解决思路----------------------

//
------解决思路----------------------
 >>               
------解决思路----------------------
 Right shift                             
------解决思路----------------------
 Left to right 
------解决思路----------------------

//
------解决思路----------------------
 <                
------解决思路----------------------
 Less than                               
------解决思路----------------------
 Left to right 
------解决思路----------------------

//
------解决思路----------------------
 >                
------解决思路----------------------
 Greater than                            
------解决思路----------------------
 Left to right 
------解决思路----------------------

//
------解决思路----------------------
 <=               
------解决思路----------------------
 Less than or equal to                   
------解决思路----------------------
 Left to right 
------解决思路----------------------

//
------解决思路----------------------
 >=               
------解决思路----------------------
 Greater than or equal to                
------解决思路----------------------
 Left to right 
------解决思路----------------------

//
------解决思路----------------------
 ==               
------解决思路----------------------
 Equality                                
------解决思路----------------------
 Left to right 
------解决思路----------------------

//
------解决思路----------------------
 !=               
------解决思路----------------------
 Inequality                              
------解决思路----------------------
 Left to right 
------解决思路----------------------

//
------解决思路----------------------
 &                
------解决思路----------------------
 Bitwise AND                             
------解决思路----------------------
 Left to right 
------解决思路----------------------

//
------解决思路----------------------
 ^                
------解决思路----------------------
 Bitwise exclusive OR                    
------解决思路----------------------
 Left to right 
------解决思路----------------------

//
------解决思路----------------------
 
------解决思路----------------------
                
------解决思路----------------------
 Bitwise OR                              
------解决思路----------------------
 Left to right 
------解决思路----------------------

//
------解决思路----------------------
 &&               
------解决思路----------------------
 Logical AND                             
------解决思路----------------------
 Left to right 
------解决思路----------------------

//
------解决思路----------------------
 
------解决思路----------------------
               
------解决思路----------------------
 Logical OR                              
------解决思路----------------------
 Left to right 
------解决思路----------------------

//
------解决思路----------------------
 e1?e2:e3         
------解决思路----------------------
 Conditional                             
------解决思路----------------------
 Right to left 
------解决思路----------------------

//
------解决思路----------------------
 =                
------解决思路----------------------
 Assignment                              
------解决思路----------------------
 Right to left 
------解决思路----------------------

//
------解决思路----------------------
 *=               
------解决思路----------------------
 Multiplication assignment               
------解决思路----------------------
 Right to left 
------解决思路----------------------

//
------解决思路----------------------
 /=               
------解决思路----------------------
 Division assignment                     
------解决思路----------------------
 Right to left 
------解决思路----------------------

//
------解决思路----------------------
 %=               
------解决思路----------------------
 Modulus assignment                      
------解决思路----------------------
 Right to left 
------解决思路----------------------

//
------解决思路----------------------
 +=               
------解决思路----------------------
 Addition assignment                     
------解决思路----------------------
 Right to left 
------解决思路----------------------

//
------解决思路----------------------
 -=               
------解决思路----------------------
 Subtraction assignment                  
------解决思路----------------------
 Right to left 
------解决思路----------------------

//
------解决思路----------------------
 <<=              
------解决思路----------------------
 Left-shift assignment                   
------解决思路----------------------
 Right to left 
------解决思路----------------------

//
------解决思路----------------------
 >>=              
------解决思路----------------------
 Right-shift assignment                  
------解决思路----------------------
 Right to left 
------解决思路----------------------

//
------解决思路----------------------
 &=               
------解决思路----------------------
 Bitwise AND assignment                  
------解决思路----------------------
 Right to left 
------解决思路----------------------

//
------解决思路----------------------
 
------解决思路----------------------
=               
------解决思路----------------------
 Bitwise inclusive OR assignment         
------解决思路----------------------
 Right to left 
------解决思路----------------------

//
------解决思路----------------------
 ^=               
------解决思路----------------------
 Bitwise exclusive OR assignment         
------解决思路----------------------
 Right to left 
------解决思路----------------------

//
------解决思路----------------------
 ,                
------解决思路----------------------
 Comma                                   
------解决思路----------------------
 Left to right 
------解决思路----------------------

//+------------------+-----------------------------------------+---------------+

------解决思路----------------------
C++这么多年了, 也许连创始人也不记得当年发生了什么, 现在找一个说法与当时可能已经相差甚远. 我提种说法, 觉得可以就信之,  不可以再看其它人的解释
     取成员地址,不需要实例, 比如class A{ public: void fun(){} }; 可以直接&A::fun, 如果要写成->&的形式, 就需要A*pa, pa->&才行, 直接A->这种语法也没有
------解决思路----------------------
引用:
TO 赵老师:我知道没有->&运算符的,我只是想知道为什么没有,谢谢了。
TO Saleayas:为什么用&号时&Class::Member就放在前面,而用*号时Class->*Member就放在后面?你不觉得对于一个初学者,很容易在记忆上造成混乱吗?
既然容易造成混乱,C++的创始人肯定也知道的,所以想我知道它们宁愿造成混乱也要把*号放在中间的原因


指向成员的指针与普通指针有一个很大的不同,就是他解引用的时候需要两个操作数(一个是指向成员的指针,另一个是类的实例),而普通指针值只需要一个(即指针本身)。于是出现了 ->* 与 .* 来在左侧提供类的实例,右边放指向成员指针。

但是取地址的时候,无论指向成员的指针还是普通指针,都只需要一个操作数。于是大家共用了 & 操作符。
------解决思路----------------------
《深度探索C++对象模型》
《C++反汇编与逆向分析技术揭秘》
------解决思路----------------------
为什么只有->*和.*呢, 很好理解,
因为 ->和.原来后面跟的都是具体相对地址的变量, 而不是指针.
*运算符通常后面跟个指针, 返回指向的变量, 这与->和.的要求相符.
&运算符通常后面跟个变量, 返回内容为该变量地址的指针, 这与-和.的要求不符.