-

   rss_rss_hh_new

 - e-mail

 

 -

 LiveInternet.ru:
: 17.03.2011
:
:
: 51

:


++20

, 15 2017 . 23:56 +
image ISO WG21 C++, 10 15 . 21, - .

: ++17 ; ++20 (concepts), - (explicit generic lambdas) .

++17 , , , . , ++ . , , ++20. stdlib , C++20 . , .


++20



Concepts, - C++11, Concepts-Lite, - .

(terse syntax) ; , ++20.

_VA_OPT_


#define LOG(msg, ...) printf(msg __VA_OPT__(,) __VA_ARGS__)

LOG("hello world")   // => printf("hello world")
LOG("hello world", ) // => printf("hello world")
LOG("hello %d", n)   // => printf("hello %d", n)


- (Explicit generic lambdas) [pdf]


[]  (T t) { /* ... */ }

- C++11, ; C++14 - auto:
[](auto x) { /* ... */ }

( ) - :

[](T x) { /* ... */ }
[](T* p) { /* ... */ }
[](T (&a)[N]) { /* ... */ }


shared_ptr [pdf]


shared_ptr p = make_shared(1024);

, 1.


, , :
enum class endian
{
  little = __ORDER_LITTLE_ENDIAN__,
  big    = __ORDER_BIG_ENDIAN__,
  native = __BYTE_ORDER__
};



vector v{vector{1, 2}};
 //  vector  vector>


TS (Technical Specifications)



TS ++17 ( ):
  • Filesystem v1 [pdf] boost::filesystem,
  • Parallelism v1 [pdf] TS, algorithm ,
  • Library Fundamentals v1 [pdf] : std::string_view, std::optional, std::any, system_error.


, , ( ):

TS, .
, , ++20.

(Modules) [pdf]


- , , TS . ( ) .. - Microsoft . , , .

Concurrency v1 [pdf]


, ++20. , futures ( std::async), latches, atomic smart pointers. ++17 , .
MS Visual Studio, HPX just::thread. , P0676 P0701 TS .

Transactional Memory v1 [pdf]


, TS , shared_ptr , . , - .

Library Fundamentals v2


. , ++20.

Executors v1 [pdf]


. ++20, .. TS , .

Reflection v1 [pdf]


. ++20, .

TS ( ) (reification). , TS , Boost::Hana .

Concurrency v2


. concurrent data structures, oncurrent queues, lock-free ; Hazard pointers ( ), RCU ( lock-free ), atomic views. ++20 , .. , , .

Parallelism v2


. , Parallelism v1 Parallel STL CPU, GPU. Parallelism v2

Library Fundamentals v3


.

Contracts v1


. TS, ++20. : assert, - - (.. ). , ++ , , , - .

Numerics [pdf]


. - ++20: decimal floating point, bounded types (, fixed point types), unbounded types, multiprecision arithmetic. (, , , ).

2D Graphics v1


.


std::string starts_with, ends_with.

, TS . , CUDA/OpenMP/OpenCL C++. , std::invoke, std::async, . , std::thread CPU; , Executors TS , , .

Google, NVidia, Codeplay NASDAQ TS, ++, : Concurrency, Parallelism, Transactional Memory, Networking.

, C++20, .


Michael Wong What's in C++20 and the C++17 final score card

2017 Toronto ISO C++ Committee Discussion Thread (Concepts in C++20; Coroutines, Ranges and Networking TSes published)
C++17: The Language Features Nicolai Josuttis
Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/333414/

:  

: [1] []
 

:
: 

: ( )

:

  URL