$500 – $1,350

Better C++ / Chicago

Event Information

Share this event

Date and Time

Location

Location

BeOffice

444 N Michigan Ave

Ste 1200

Chicago, IL 60611

View Map

Friends Who Are Going
Event description

Description

Join us for 3 days of highly interactive C++ training in downtown Chicago. Through this training you will gain a better understanding of how to write clean, maintainable, and well performing C++ code.

We will meet from 8:15 to 5:00 PM each day. Light snacks will be provided in the morning and afternoon, and there will be a 1 hr lunch break each day.

The class size is limited to ensure that everyone has sufficient opportunity to participate.

For the best deal and experience, purchase the "All 3 Days Bundle" which gives you all three days of the training for a discounted price.




Wednesday: Demystifying Modern C++

C++11, 14, and 17 added many new features to C++ that have made many question the overhead of using these new features and the complexity they add to the language. We will make an in depth examination of these features to give you confidence in using and deploying modern C++ in your organization.

C++11

  • lambdas
  • trailing return types
  • std::array
  • std::unique_ptr
  • std::shared_ptr
  • move semantics
  • initializer_list
  • std::tuple / std::pair
  • ranged for loops
  • uniform initialization syntax
  • auto

C++14

  • relaxed constexpr
  • Generalized lambda captures
  • auto return types
  • generic lambdas

C++17

  • structured bindings
  • if and switch-init expressions



Thursday: Understanding Object Lifetime in C++

C++ has what very few other languages have: a well defined object life cycle. Understanding this key aspect of the language is critical for writing high quality C++.

We will describe the lifecycle of an object in C++ and work through increasingly complex examples. There will be something for C++ developers of all skill levels to learn.

  • Introduction and understanding RAII
  • What does the standard say?
  • Member variable lifecycle
  • How and why to limit variable scope
  • The as-if rule
  • std::move and std::forward
  • Passing values
  • Returning values
  • Lifecycle of lambda captures
  • How the C++ memory model and object lifetime relate
  • Gotchas
  • A note about runtime polymorphism
  • What changes in C++17



Friday: C++ Best Practices

On the final day of the course we will cover a series of tangible best practice rules for how to write C++ code that is maintainable and efficient by default.

We will wrap up with a discussion of how to use the tools available to maintain code quality.

  • The proper use of smart pointers
  • Updating and analyzing inherited code bases
  • Avoiding common runtime performance pitfalls
  • Using the wide range of tools available
  • Considering compile-time performance
  • Taking into account cross-platform considerations
  • Using the standard library
  • Ensuring code quality


Share with friends

Date and Time

Location

BeOffice

444 N Michigan Ave

Ste 1200

Chicago, IL 60611

View Map

Save This Event

Event Saved