mark@premenos.premenos.COM (Mark Grand) (04/14/91)
My understanding of the semantic of the return statement is that the expression following return is evalated, a copy of the value is created using the appropriate copy constructor and the copy is returned. My question involves the circumstance extern MyObj foo(); ... foo(); What becomes of the return value? Borland C++ waits until it reaches the end of the scope enclosing the call to foo() before calling the destructor for its return value. If a destructor is to be called then when. In a case such as extern MyObj foo(); ... loop: foo(); ... goto loop; will a destructor be called for every value returned by foo()? -- ======== Mark Grand Premenos Corporation 415-602-2073 1000 Burnett Avenue, Suite 200 Concord, CA 94520 ...!attmail!premenos ...!{sun, ames, att}!pacbell!premenos!mark -- ======== Mark Grand Premenos Corporation 415-602-2073