|
4756 | 4756 | \end{itemize} |
4757 | 4757 | implementations are permitted |
4758 | 4758 | to create temporary objects |
4759 | | -to hold the function parameter or result object, |
| 4759 | +to hold the value of the function parameter or result object, |
4760 | 4760 | as follows: |
4761 | 4761 | \begin{itemize} |
4762 | 4762 | \item |
4763 | 4763 | The first such temporary object |
4764 | | -is constructed from the function argument or return value, respectively. |
| 4764 | +is initialized from the function argument or |
| 4765 | +the operand of \keyword{return}, respectively. |
4765 | 4766 | \item |
4766 | 4767 | Each successive temporary object |
4767 | 4768 | is initialized from the previous one |
4768 | 4769 | as if by direct-initialization if \tcode{X} is a scalar type, |
4769 | 4770 | otherwise by using an eligible trivial constructor. |
4770 | 4771 | \item |
4771 | | -The function parameter or return object is initialized |
4772 | | -from the final temporary |
| 4772 | +The function parameter or result object is initialized |
| 4773 | +from the final temporary object |
4773 | 4774 | as if by direct-initialization if \tcode{X} is a scalar type, |
4774 | 4775 | otherwise by using an eligible trivial constructor. |
4775 | 4776 | \end{itemize} |
4776 | | -(In all cases, the eligible constructor is used |
| 4777 | +In all cases, the eligible constructor is used |
4777 | 4778 | even if that constructor is inaccessible |
4778 | 4779 | or would not be selected by overload resolution |
4779 | | -to perform a copy or move of the object). |
| 4780 | +to perform a copy or move of the object. |
4780 | 4781 | \begin{note} |
4781 | 4782 | This latitude is granted to allow objects |
4782 | 4783 | to be passed to or returned from functions in registers. |
|
0 commit comments