Agenda szkolenia
  1. Smart pointers
    • std::unique_ptr<>
    • std::shared_ptr<>
    • std::weak_ptr<>
    • Best practices
    • Implementation details
    • Efficiency
  2. Move semantic
    • l-value && r-value
    • universal reference
    • std::move
    • std::forward
    • copy elision – efficient return an argument from function
  3. Good practise:
    • SOLID
    • DRY
    • KISS
  4. Refactoring old C++98 code to use c++17 features and OOP
  5. Examples of STL and lambda ussage
    • Copy and move data between different containers
    • Lower and upper bound for fast searching in sorted containers
    • Concatenate few containers in one
    • Easy way to work with std::tuple
    • std::optional, std::variant and std::visit