Hi everyone,
Sorry for the previous email, I did send it before finishing it by mistake.
Currently Geode Native uses C++11 standard. It has been quite some time since
the standard was released and as of today the latest standard is C++20.
As part of another discussion, some users in the community were wondering if
it's the time to switch to C++17 in the Geode Native project.
So, I am putting a list of pros and cons:
Pros:
* Several new features added:
* C++14 features:
https://en.cppreference.com/w/cpp/14#New_language_features
* C++17 features:
https://en.cppreference.com/w/cpp/17#New_language_features
* Some of the interesting features are:
* Function return type deduction.
* Improved constexpr functions.
* Variable templates.
* Generic lambdas.
* Lambda capture expressions.
* [[deprecated]]
* Shared mutexes/locks.
* std::make_unique
* Nested namespace definitions.
* Structured bindings.
* variant.
* any.
* optional.
Cons:
* Some users might have older compilers which does not implement all C++ 17
features.
Thanks,
Mario.
________________________________
From: Mario Salazar de Torres <[email protected]>
Sent: Tuesday, May 4, 2021 7:34 PM
To: [email protected] <[email protected]>
Subject: DISCUSSION: Geode Native C++ 17 adoption
Hi everyone,
Currently Geode Native uses C++11 standard. It has been quite some time since
the standard was released and as of today the latest standard is C++20.
As part of another discussion, some users in the community were wondering if
it's the time to switch to C++17 in the Geode Native project.
So, I am putting a list of pros and cons:
Pros:
* Several new features added:
* C++14 features:
https://en.cppreference.com/w/cpp/14#New_language_features
* C++17 features:
https://en.cppreference.com/w/cpp/17#New_language_features
* Some of the interesting features are:
* Function return type deduction.
* Improved constexpr functions.
* Variable templates.
- Generic lambdas.
- Lambda capture expressions.
- [[deprecated]]
- Shared mutexes/locks.
- std::make_unique
C++17 -
cppreference.com<https://en.cppreference.com/w/cpp/17#New_language_features>
This page was last modified on 20 October 2020, at 04:39. This page has been
accessed 106,431 times. Privacy policy; About cppreference.com; Disclaimers
en.cppreference.com
C++14 -
cppreference.com<https://en.cppreference.com/w/cpp/14#New_language_features>
New language features . variable templates; generic lambdas; lambda
init-capture new/delete elision relaxed restrictions on constexpr functions;
binary literals
en.cppreference.com