Documentos de Académico
Documentos de Profesional
Documentos de Cultura
! " # $ % ! &
3 4
WG21’
WG21’s approach to C++ evolution Goals
' @ / '3 / ! !
& / / ) $ - D 99 /
. & / ( &/ 2 + - D ) ! ) 0 )
4 ! )) $ ! ) - D 99 $ 0 $ ! $ ,
' - / 0 0 $ & ! ! 2
' A 8 & / '3 $
' B ) & ! 0 0 $ :) & 0 ! /! )) !
. $ / ) $ ) C / / ! )) ! !) ( +
:* & ) & 0 $ D ! 2 $ )
) $ * / $ - D 0 / ! ! / !
' A ! & ) /
' $ * E FG & ,
*& / & 5 ) H E FG
5 6
Features’
Features’ status Planned timeline
' % & $ // / ' @ 2 / 0 0 ! D$ 0
- $ 2 ! / / ) / ) 5$ I D ! 0J I3 )) 0J
- !// 0 ! $ :.K ) ) $ ( $ +
%0 0 ) ) * $ & 0 5) 6
' / ) / $ !
= / / !/ / !
7 8
9 10
New types and corresponding literals New integer type aliases (from C99)
' O ! ! ! ! ! O ' % 0 $ F/ G O
8 0( ! !+ 8 0( !+ O ) & 0 ) E E
! 1 P S
B H 00 ) 8 5$ &
' O 0 E O
% ) 0 ) & > 1 2 )
= & / 0 / 2 / 71E E
' O P / / /
- ) ) E 71E E E
%/ / P =3 / / O
%/ 7E Q2Q P =3 7 / / , 3 ) ) ) E0 71E E0 E
/ E P Q2Q P =3 / / 1 @ ) 2E ) 2E
6
R4 R P =3 ! ,
R4 R P =3 7 ! ,
P R4 R P =3 !
11 12
Syntax to improve utility of existing features New flexibility in declaration syntax
O O
' / & / ! ! $ /D D ' O ) 0 / / 2
# S
0 & / F & / F GG = $ , S 0( $ + YG & / F $ G, 1
#
' O 0 ) & & / ) ! O
' = / 0 ) 8 &
O
LM T U V, & / F G T & $ ! ( +, 6
0 ( W 2 + 6 / $ T & $ ! ( +,
1 1
2 XT , P ) / 0 )
' 0 ) )$ 0 / ' = H & / (I / 0J+
O O
/ 0 / (2X + E,
U 1 1
(+ T 0 ,
7 / 0 ! / ! )) !
( / W + T , / 0 D ! ))
W T( / W + T , ' ) F/ = / PG
V, / (= P + YG / ( X + U X , V
13 14
23 24
1
Concurrency in the core language Concurrency in the standard library
' I / ) ) J O ' = & $ /
= * ! / ! 1 . $ / 0 D( + C (+ O
- ) / () ! ! ) ) . // K. / 0/ 1
6
/ + & D 0 $ & . / 8 #
% ) /( & $ + $ & \ & $ 0 ) 2 >
/D ) / $ / 5/ ) ) / \ / & $
) / $
' = ) &
' % C ) & $
. / / )
= / ! $ &
= / ) & 0 ) 0 / /
/ 8 8 00 / / /
/ / ) / 8 0 /
& $ $ / / 8
25 26
And there’
there’s still more! Monomorphic lambda expressions and closures
' \ / ) ) O ' % ) 0 / $C / ( ) $ +
O
O $ 0 ) D ! & $ )$ 0 $ 0 S
0 ) ) ( I ) /DJ+ S
- $ / ( + /
P 0 ) ) $ 0/ FG
3 $ % 8 / * / / L 6 7M
' . ! ) ( ) / ) + O
' 2 )
) / ! U T 1 5X T X5 V,
1
# 0 ) ( &$ ! (+ & (+ &$ ! (+
2/ & * / ( +
LM( $ 2+ U 2 9 1 S6 7 V +,
) & ! !
! )) ) /0 E E T LM( $ 2+ U 29 1 S6 7 V ,
0 ) ( &$ ! (+ & (+ &$ ! (+
' % ) ) ) & 0 E E +,
) F/ =T ! $ G ,,-. Z
= (+ U 1 S6 7S S 6#6 17 71 ,V
7
27 28
And yet more language additions, improvements, … And I’I’ve barely mentioned the standard library
' B 2 0 K / , 0 & ' B ) )$ ! 5 $
' O ! ) ! 0( + ! ( + ' B ! 2
' B ! ' = (0 ) ) ! )) !+
' 2 $ 8 0 ) )$ & 8 0 ' 2 / ) 2/
' 2 $ ( 0 + ' @ // $ 0 / FG $ $ FG
' @ 8 $ / ' .) E FG H E FG
' :) & ) (I= - 0/ P J+ ' FG FG 0 E FG
' & 2 / ' 4 $ E) FG E FG
' 2 0 / ' / / ) /F G ) 2
' 66 / ) / ' O & /) ( + ) 2( + ) ) 2( + ! )
29 30
S
Summary
' 0 0 ) & ) / ) ! 99 ?
- ! 0 0 ) ( ! $ ! / / + >
@ ) ! 0 ) C++ : New and Improved!
' ) ( !//+ $ ( + &
& ) 0 0 & $ 3:O
/ 5 0 >
/ !0
' I 99 ! ! )) ! ! !
0 C $ ! )) !$ ! )) J
N C . 66
! " # $ % ! &
31