From 8003b627a7e336c2e9f350a3bb1ad395ec7c1cc7 Mon Sep 17 00:00:00 2001 From: lprv <100177227+lprv@users.noreply.github.com> Date: Wed, 16 Oct 2024 19:41:35 +0000 Subject: [PATCH] [expr, temp.arg.nontype] Use 'pointer to' instead of 'address of' (#6174) Specifically, in: * [expr.prim.lambda.closure]p8, p11 * [expr.const]p13.3 * [temp.arg.nontype]p3 --- source/expressions.tex | 16 ++++++++-------- source/templates.tex | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/source/expressions.tex b/source/expressions.tex index 1cf4411103..54e40c91a9 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -2137,9 +2137,9 @@ has a non-throwing exception specification. If the function call operator is a static member function, then the value returned by this conversion function is -the address of the function call operator. +a pointer to the function call operator. Otherwise, the value returned by this conversion function -is the address of a function \tcode{F} that, when invoked, +is a pointer to a function \tcode{F} that, when invoked, has the same effect as invoking the closure type's function call operator on a default-constructed instance of the closure type. \tcode{F} is a constexpr function @@ -2214,10 +2214,10 @@ If the function call operator template is a static member function template, then the value returned by any given specialization of this conversion function template is -the address of the corresponding function call operator template specialization. +a pointer to the corresponding function call operator template specialization. Otherwise, the value returned by any given specialization of this conversion function -template is the address of a function \tcode{F} that, when invoked, has the same +template is a pointer to a function \tcode{F} that, when invoked, has the same effect as invoking the generic lambda's corresponding function call operator template specialization on a default-constructed instance of the closure type. \tcode{F} is a constexpr function @@ -7986,10 +7986,10 @@ it does not have an indeterminate or erroneous value\iref{basic.indet}, \item - if the value is of pointer type, it contains - the address of an object with static storage duration, - the address past the end of such an object\iref{expr.add}, - the address of a non-immediate function, + if the value is of pointer type, it is + a pointer to an object with static storage duration, + a pointer past the end of such an object\iref{expr.add}, + a pointer to a non-immediate function, or a null pointer value, \item diff --git a/source/templates.tex b/source/templates.tex index 34db14f83a..ba8462df53 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -1200,8 +1200,8 @@ For a non-type \grammarterm{template-parameter} of reference or pointer type, or for each non-static data member of reference or pointer type in a non-type \grammarterm{template-parameter} of class type or subobject thereof, -the reference or pointer value shall not refer to -or be the address of (respectively): +the reference or pointer value shall not refer +or point to (respectively): \begin{itemize} \item a temporary object\iref{class.temporary}, \item a string literal object\iref{lex.string},