Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Recent c++ goodies (March 2018)

6,771 views

Published on

Overview of the recent changes in the C++ World. What was added recently to the standard, what are the plans for C++20? In the second part, I described tools that improve productivity.

Published in: Technology
  • Was a little hesitant about using ⇒⇒⇒WRITE-MY-PAPER.net ⇐⇐⇐ at first, but am very happy that I did. The writer was able to write my paper by the deadline and it was very well written. So guys don’t hesitate to use it.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • You can try to use this service ⇒ www.HelpWriting.net ⇐ I have used it several times in college and was absolutely satisfied with the result.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating for everyone is here: ♥♥♥ http://bit.ly/39sFWPG ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Follow the link, new dating source: ❤❤❤ http://bit.ly/39sFWPG ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Recent c++ goodies (March 2018)

  1. 1. Recent C++ goodies: tools and more CAN C++ DEVELOPERS BE MORE PRODUCTIVE IN 2018? Bartłomiej Filipek, bfilipek.com
  2. 2. About me See my coding blog at: www.bfilipek.com 10y+ experience Currently @Xara.com ◦ Text related features for advanced document editors Somehow addicted to C++  Xara Cloud Demo
  3. 3. The plan C++ Status Tool Demo ◦ Visual Studio 2017 ◦ Clang Power Tools for VS ◦ Core Guideline Checker ◦ … ◦ SourceTrail ◦ Live++ ◦ Conan Summary
  4. 4. C++ Status 4th December 2017 - C++17 has been published as ISO/IEC 14882:2017 C++20 on the way! ISO Meetings ◦ November 2017: Albuquerque [AL-bu-kur-key], USA ◦ Herb Sutter Report ◦ botondballo trip report ◦ r/cpp/ live thread ◦ March 2018: Jacksonville (JAX), USA ◦ r/cpp/2018_jacksonville_iso_c_committee_reddit_trip/ ◦ Vittorio Romeo: trip report: first ISO C++ meeting experience ◦ Herb Sutter: Trip report: Winter ISO C++ standards meeting (Jacksonville) ◦ botondballo trip report ◦ June 2018: Rapperswil, Switzerland ◦ November 2018: San Diego, USA
  5. 5. C++20 what’s already there? Albuquerque, November 2017 ◦ operator<=> (aka the spaceship operator) and library support for operator<=> ◦ P0515 R3 ◦ Range-based for with initializer ◦ Lambdas in unevaluated contexts ◦ Deprecate POD - P0767R1 – “trivial” and “standard-layout” ◦ Apply [[nodiscard]] to the standard library - P0600R1 ◦ On async, allocate, launder, new, empty ◦ std::osyncstream ◦ std::to_address ◦ constexpr std::complex ◦ constexpr algorithms ◦ Floating point std::atomics ◦ std::string/std::string_view .starts_with and .ends_with
  6. 6. C++20 what’s already there? Jacksonville, March 2018 ◦ [[no_unique_address]], which enables the empty base optimization for final types ◦ Make typename optional in more places ◦ [[likely]] and [[unlikely]] ◦ <version> header ◦ Calender and timezone library ◦ https://github.com/HowardHinnant/date ◦ syncstream manipulators for C++ Synchronized Buffered Ostream ◦ span ◦ Pack expansion in lambda init-capture: [...args = std::move(args)](){}
  7. 7. C++20 – what’s planned? To boldly suggest an overall plan for C++20 - P0592R0 ◦ Modules ◦ Concepts ◦ Ranges ◦ Networking
  8. 8. ToolsDisclaimer: In most cases I’m not an expert! 
  9. 9. Visual Studio 2017 Released in March 2017 ◦ 5 updates in 2017 ◦ Current version: 15.6.2 (8th March 2018) ◦ Community version is free ◦ Visual Studio Roadmap for 2018 Open Folder Cmake support – 15.4 Clang compiler! Improvements… ◦ Google and Boost Tests adapters since 15.5! ◦ https://docs.microsoft.com/en-us/visualstudio/test/how-to-use-google-test-for-cpp Visual Studio 2017 for C++ developers – you will love it
  10. 10. Core guidelines Cpp CoreGuidelines - Main Link C++ Core Guidelines Checker in Visual Studio 2017
  11. 11. Clang Power Tools for VS Clang Format Style Options https://zed0.co.uk/clang-format-configurator/
  12. 12. SourceTrail http://www.bfilipek.com/2017/10/sourcetrail.html
  13. 13. Conan Package Manager for C++, version 1.1 currently www.conan.io Conan Center Conan Transit
  14. 14. Live++, from Molecular Matters Hot patch your app on the go! MSVC compiler ◦ LLVM in progress x86/x64 - bit mode Single DLL – loaded into your app Compilation & patching process in the background Live++ released on March 27th Molecular Matters -> Live++
  15. 15. Others? Clang: ◦ Address Sanitizer ◦ Undefined Behavior Sanitizer ◦ Memory Sanitizer Static analysers ◦ CppCheck IDE ◦ Clion ◦ QTCreator Visual Assist Vtune Free for commercial use! ◦ 90-day trial, with unlimited number of renewals
  16. 16. Questions ?

×