|
| 1 | +<!DOCTYPE html><html><head><meta charset="utf-8"><style>html { font-size: 100%; overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } |
| 2 | + |
| 3 | +body{ |
| 4 | + color:#444; |
| 5 | + font-family:Georgia, Palatino, 'Palatino Linotype', Times, 'Times New Roman', |
| 6 | + "Hiragino Sans GB", "STXihei", "微软雅黑", serif; |
| 7 | + font-size:12px; |
| 8 | + line-height:1.5em; |
| 9 | + background:#fefefe; |
| 10 | + width: 45em; |
| 11 | + margin: 10px auto; |
| 12 | + padding: 1em; |
| 13 | + outline: 1300px solid #FAFAFA; |
| 14 | +} |
| 15 | + |
| 16 | +a{ color: #0645ad; text-decoration:none;} |
| 17 | +a:visited{ color: #0b0080; } |
| 18 | +a:hover{ color: #06e; } |
| 19 | +a:active{ color:#faa700; } |
| 20 | +a:focus{ outline: thin dotted; } |
| 21 | +a:hover, a:active{ outline: 0; } |
| 22 | + |
| 23 | +span.backtick { |
| 24 | + border:1px solid #EAEAEA; |
| 25 | + border-radius:3px; |
| 26 | + background:#F8F8F8; |
| 27 | + padding:0 3px 0 3px; |
| 28 | +} |
| 29 | + |
| 30 | +::-moz-selection{background:rgba(255,255,0,0.3);color:#000} |
| 31 | +::selection{background:rgba(255,255,0,0.3);color:#000} |
| 32 | + |
| 33 | +a::-moz-selection{background:rgba(255,255,0,0.3);color:#0645ad} |
| 34 | +a::selection{background:rgba(255,255,0,0.3);color:#0645ad} |
| 35 | + |
| 36 | +p{ |
| 37 | +margin:1em 0; |
| 38 | +} |
| 39 | + |
| 40 | +img{ |
| 41 | +max-width:100%; |
| 42 | +} |
| 43 | + |
| 44 | +h1,h2,h3,h4,h5,h6{ |
| 45 | +font-weight:normal; |
| 46 | +color:#111; |
| 47 | +line-height:1em; |
| 48 | +} |
| 49 | +h4,h5,h6{ font-weight: bold; } |
| 50 | +h1{ font-size:2.5em; } |
| 51 | +h2{ font-size:2em; border-bottom:1px solid silver; padding-bottom: 5px; } |
| 52 | +h3{ font-size:1.5em; } |
| 53 | +h4{ font-size:1.2em; } |
| 54 | +h5{ font-size:1em; } |
| 55 | +h6{ font-size:0.9em; } |
| 56 | + |
| 57 | +blockquote{ |
| 58 | +color:#666666; |
| 59 | +margin:0; |
| 60 | +padding-left: 3em; |
| 61 | +border-left: 0.5em #EEE solid; |
| 62 | +} |
| 63 | +hr { display: block; height: 2px; border: 0; border-top: 1px solid #aaa;border-bottom: 1px solid #eee; margin: 1em 0; padding: 0; } |
| 64 | + |
| 65 | + |
| 66 | +pre , code, kbd, samp { |
| 67 | + color: #000; |
| 68 | + font-family: monospace; |
| 69 | + font-size: 0.88em; |
| 70 | + border-radius:3px; |
| 71 | + background-color: #F8F8F8; |
| 72 | + border: 1px solid #CCC; |
| 73 | +} |
| 74 | +pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; padding: 5px 12px;} |
| 75 | +pre code { border: 0px !important; padding: 0;} |
| 76 | +code { padding: 0 3px 0 3px; } |
| 77 | + |
| 78 | +b, strong { font-weight: bold; } |
| 79 | + |
| 80 | +dfn { font-style: italic; } |
| 81 | + |
| 82 | +ins { background: #ff9; color: #000; text-decoration: none; } |
| 83 | + |
| 84 | +mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; } |
| 85 | + |
| 86 | +sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } |
| 87 | +sup { top: -0.5em; } |
| 88 | +sub { bottom: -0.25em; } |
| 89 | + |
| 90 | +ul, ol { margin: 1em 0; padding: 0 0 0 2em; } |
| 91 | +li p:last-child { margin:0 } |
| 92 | +dd { margin: 0 0 0 2em; } |
| 93 | + |
| 94 | +img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; } |
| 95 | + |
| 96 | +table { border-collapse: collapse; border-spacing: 0; } |
| 97 | +td { vertical-align: top; } |
| 98 | + |
| 99 | +@media only screen and (min-width: 480px) { |
| 100 | +body{font-size:14px;} |
| 101 | +} |
| 102 | + |
| 103 | +@media only screen and (min-width: 768px) { |
| 104 | +body{font-size:16px;} |
| 105 | +} |
| 106 | + |
| 107 | +@media print { |
| 108 | + * { background: transparent !important; color: black !important; filter:none !important; -ms-filter: none !important; } |
| 109 | + body{font-size:12pt; max-width:100%; outline:none;} |
| 110 | + a, a:visited { text-decoration: underline; } |
| 111 | + hr { height: 1px; border:0; border-bottom:1px solid black; } |
| 112 | + a[href]:after { content: " (" attr(href) ")"; } |
| 113 | + abbr[title]:after { content: " (" attr(title) ")"; } |
| 114 | + .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } |
| 115 | + pre, blockquote { border: 1px solid #999; padding-right: 1em; page-break-inside: avoid; } |
| 116 | + tr, img { page-break-inside: avoid; } |
| 117 | + img { max-width: 100% !important; } |
| 118 | + @page :left { margin: 15mm 20mm 15mm 10mm; } |
| 119 | + @page :right { margin: 15mm 10mm 15mm 20mm; } |
| 120 | + p, h2, h3 { orphans: 3; widows: 3; } |
| 121 | + h2, h3 { page-break-after: avoid; } |
| 122 | +} |
| 123 | +</style><title>N4749</title></head><body> |
| 124 | +<h1>N4749 Editors' Report -- Programming Languages -- C++</h1> |
| 125 | + |
| 126 | +<p>2018-05-07 <br /> |
| 127 | +Richard Smith (editor) (Google Inc) <br /> |
| 128 | +Dawn Perchik (co-editor) (Embarcadero Technologies Inc) <br /> |
| 129 | +Thomas Köppe (co-editor) (Google DeepMind) <br /> |
| 130 | +<code>< [email protected]> </code></p> |
| 131 | + |
| 132 | +<h2>Acknowledgements</h2> |
| 133 | + |
| 134 | +<p>Special thanks to |
| 135 | +Jens Maurer |
| 136 | +for performing many of the editorial fixes since N4741.</p> |
| 137 | + |
| 138 | +<p>Thanks to all those who have <a href="https://github.com/cplusplus/draft/wiki/How-to-submit-an-editorial-issue">submitted editorial |
| 139 | +issues</a> |
| 140 | +and to those who have provided pull requests with fixes.</p> |
| 141 | + |
| 142 | +<h2>New papers</h2> |
| 143 | + |
| 144 | +<ul> |
| 145 | +<li><a href="http://wg21.link/n4750">N4750</a> is the current C++ working draft. It replaces <a href="http://wg21.link/n4741">N4741</a>.</li> |
| 146 | +<li>N4749 is this Editors' Report.</li> |
| 147 | +</ul> |
| 148 | + |
| 149 | +<h2>Motions incorporated into working draft</h2> |
| 150 | + |
| 151 | +<p>This revision contains only editorial changes relative to N4741.</p> |
| 152 | + |
| 153 | +<h2>Minor editorial fixes</h2> |
| 154 | + |
| 155 | +<p>A log of editorial fixes made to the working draft since N4741 is below. |
| 156 | +This list excludes changes |
| 157 | +that do not affect the body text or only affect whitespace or typeface. For a |
| 158 | +complete list including such changes (or for the actual deltas applied by these |
| 159 | +changes), consult the <a href="https://github.com/cplusplus/draft/compare/n4741...n4750">draft sources on github</a>.</p> |
| 160 | + |
| 161 | +<pre><code>commit dc6d80a697df0843b72fca3e2d2555311d8e6b25 |
| 162 | +Author: Jens Maurer < [email protected]> |
| 163 | +Date: Tue Apr 17 00:03:47 2018 +0200 |
| 164 | + |
| 165 | + [over.oper] Remove incorrect and redundant sentence in a note. |
| 166 | + |
| 167 | +commit aeddcdc6f30b8391bb5c107a1403d6be06bfd1fe |
| 168 | +Author: Jens Maurer < [email protected]> |
| 169 | +Date: Sat Apr 21 01:04:19 2018 +0200 |
| 170 | + |
| 171 | + [over.match,over.match.ref] Drop obsolete mention of class prvalues. |
| 172 | + |
| 173 | +commit 067ddaa91a6c57a5ced8e13806b57dc6fa3ce2f4 |
| 174 | +Author: Jens Maurer < [email protected]> |
| 175 | +Date: Sat Apr 28 00:22:06 2018 +0200 |
| 176 | + |
| 177 | + [over.match.copy,over.match.conv] Clarify candidate function selection for references. |
| 178 | + |
| 179 | +commit ddab7e548944a486bc7fcb34cbccaeead627d778 |
| 180 | +Author: Thomas Köppe < [email protected]> |
| 181 | +Date: Tue Apr 17 00:12:55 2018 +0100 |
| 182 | + |
| 183 | + [numerics] Remove some maths typesetting idiosyncrasies. |
| 184 | + |
| 185 | + * Remove several instances of manual spacing adjustments, |
| 186 | + where LaTeX's default spacing works just fine and is more |
| 187 | + consistent. |
| 188 | + * Replace \mbox'es with more idiomatic \text. |
| 189 | + * Improve grammar by adding commas before "where". |
| 190 | + * Improve source code by removing pointless newline-escapes |
| 191 | + and minor rearrangements. |
| 192 | + |
| 193 | +commit c35c5e3c4a7092af320b776ec27b634ac6d4b028 |
| 194 | +Author: Jens Maurer < [email protected]> |
| 195 | +Date: Tue Apr 3 22:51:46 2018 +0200 |
| 196 | + |
| 197 | + [dcl.array] Clarify that an array bound is deduced in an explicit type conversion |
| 198 | + |
| 199 | +commit 703381d5f9cdce46ca3532a66463066950bcd6c1 |
| 200 | +Author: Jens Maurer < [email protected]> |
| 201 | +Date: Tue Apr 10 23:23:51 2018 +0200 |
| 202 | + |
| 203 | + [dcl.type.cv,expr.ass] Clarify the meaning of "modify" for an object. |
| 204 | + |
| 205 | +commit df1b2ba8c2035a68f1089c385c29edba64f5aec4 |
| 206 | +Author: Jens Maurer < [email protected]> |
| 207 | +Date: Mon Apr 16 23:53:18 2018 +0200 |
| 208 | + |
| 209 | + [template.gslice.array.overview] Join two single-sentence paragraphs. |
| 210 | + |
| 211 | +commit 01a04366034ccb0c75a1c0713831cdea23e411bb |
| 212 | +Author: languagelawyer < [email protected]> |
| 213 | +Date: Sat May 5 22:31:16 2018 +0300 |
| 214 | + |
| 215 | + Delete redundant and wrong example |
| 216 | + |
| 217 | + 1. Returning/casting to rvalue reference of *object type* is an xvalue. The example misses the "object type" part. |
| 218 | + 2. A complete and correct list of xvalue expressions is just 2 (or 3? I'm bad at counting) paragraph below. So, fixing the example is not rational, better to delete it. |
| 219 | + |
| 220 | +commit 5706664ea6e38b14d00acec1cca9955b7f734b67 |
| 221 | +Author: Jens Maurer < [email protected]> |
| 222 | +Date: Sun Apr 15 22:51:21 2018 +0200 |
| 223 | + |
| 224 | + [basic.lval] Add array subscripting to note enumerating xvalues. |
| 225 | + |
| 226 | + Also add cross-references pointing to the normative statements. |
| 227 | + |
| 228 | +commit 8d5a7cef984b6ed02ed4bc6508b4c2ce864593aa |
| 229 | +Author: languagelawyer < [email protected]> |
| 230 | +Date: Mon May 7 06:15:46 2018 +0300 |
| 231 | + |
| 232 | + [dcl.array]: delete note about non-modifiability of arrays (#2048) |
| 233 | + |
| 234 | + This note doesn't mean anything and contradicts the fact that a non-const-qualified array lvalue is in fact a modifiable lvalue. |
| 235 | + |
| 236 | +commit 78af2e2abed00a650013fca9819b40e3a134cff2 |
| 237 | +Author: Jens Maurer < [email protected]> |
| 238 | +Date: Tue Apr 24 07:35:11 2018 +0200 |
| 239 | + |
| 240 | + [dcl.array,expr.sub] Consolidate notes on symmetry of array subscripting. |
| 241 | + |
| 242 | +commit c9d19d1e584c2dec390f4e010c9c83bd581e1078 |
| 243 | +Author: Casey Carter < [email protected]> |
| 244 | +Date: Thu Apr 26 12:59:00 2018 -0700 |
| 245 | + |
| 246 | + Order library comparisons canonically |
| 247 | + |
| 248 | + The order [==, !=, <, >, <=, >=] seems to be most common. Let's make it canonical and use it uniformly. |
| 249 | + |
| 250 | +commit 78a00260352f275cfe1323b55db1a3ebeb68e007 |
| 251 | +Author: S. B. Tam < [email protected]> |
| 252 | +Date: Mon Apr 30 13:51:33 2018 +0800 |
| 253 | + |
| 254 | + [basic.scope.pdecl] Change "type-id" to "defining-type-id" |
| 255 | + |
| 256 | + ... now that _alias-declaration_ uses the _defining-type-id_ nonterminal. |
| 257 | + |
| 258 | +commit 6242d7291cf379a63ec5d4cb65af0d6c2c2273ec |
| 259 | +Author: Jonathan Wakely < [email protected]> |
| 260 | +Date: Mon Apr 30 15:35:42 2018 +0100 |
| 261 | + |
| 262 | + [algorithms.parallel.defns] Fix cross-reference to [algorithms.requirements] |
| 263 | + |
| 264 | + When [algorithms.general] was split into three subclauses (#1230) the |
| 265 | + requirements moved to a new subclause, [algorithms.requirements]. That |
| 266 | + invalidated the cross-reference in [algorithms.parallel.defns]. |
| 267 | + |
| 268 | +commit 2062b7f49bd1b87d741a6fb753a7be5b50f3662b |
| 269 | +Author: Gabriel Aubut-Lussier < [email protected]> |
| 270 | +Date: Tue May 1 02:17:45 2018 -0400 |
| 271 | + |
| 272 | + [class.dtor] Typo. |
| 273 | + |
| 274 | +commit e22fff1b8d8bffcb3fbf54ffa4730ccad94bd5e1 |
| 275 | +Author: Tristan Brindle < [email protected]> |
| 276 | +Date: Fri May 4 19:59:09 2018 +0100 |
| 277 | + |
| 278 | + [span.overview] Fix typo (#2059) |
| 279 | + |
| 280 | + nnamespace -> namespace |
| 281 | + |
| 282 | +commit 06013de0d00e66204253d2f682b4b879f7686540 |
| 283 | +Author: Jens Maurer < [email protected]> |
| 284 | +Date: Sun Apr 15 22:51:21 2018 +0200 |
| 285 | + |
| 286 | + [pairs.pair] Missed rename from U,V to U1,U2. (#2037) |
| 287 | + |
| 288 | +commit b92f0912c948b9f39e7e1c28580573c734eb21ae |
| 289 | +Author: timsong-cpp < [email protected]> |
| 290 | +Date: Fri Apr 13 18:32:07 2018 -0400 |
| 291 | + |
| 292 | + [time.syn][time.zone] Various editorial fixes (#2028) |
| 293 | + |
| 294 | +commit 1f1b97852aa23f0948511f56b7c0a39d04fe35e5 |
| 295 | +Author: Jens Maurer < [email protected]> |
| 296 | +Date: Mon Apr 9 00:09:28 2018 +0200 |
| 297 | + |
| 298 | + [template.slice.array] Harmonize presentation with neighboring parallel statements (#2024) |
| 299 | + |
| 300 | +commit 8c50cba4d55450575a8faa24173f08cd16dfb46e |
| 301 | +Author: Jens Maurer < [email protected]> |
| 302 | +Date: Fri Apr 6 00:49:18 2018 +0200 |
| 303 | + |
| 304 | + Clarify which kind of parameter pack is intended. (#2020) |
| 305 | + |
| 306 | +commit c9e60abd503039d881f2d56eb0d10ed4cd555566 |
| 307 | +Author: Jonathan Wakely < [email protected]> |
| 308 | +Date: Thu Apr 5 21:42:55 2018 +0100 |
| 309 | + |
| 310 | + [template.gslice.array.overview] [template.mask.array.overview] [template.indirect.array.overview] Remove misplaced uses of itemdescr |
| 311 | + |
| 312 | +commit 6d886642cd163af40ae8c5ec4f98f44acfe405f6 |
| 313 | +Author: Jens Maurer < [email protected]> |
| 314 | +Date: Wed Apr 4 12:50:59 2018 +0200 |
| 315 | + |
| 316 | + [time.syn] Add comments pointing to specification of literal operators (#2018) |
| 317 | +</code></pre> |
0 commit comments