Loading…
Attending this event?
• Back to Basics clear filter
arrow_back View All Dates
Tuesday, September 17
 

09:00 MDT

Back to Basics: Function Call Resolution
Tuesday September 17, 2024 09:00 - 10:00 MDT
When a C++ compiler encounters an expression like f(x, y), it must consider several language mechanisms to decide which function f the program will call. These mechanisms include name lookup, overload resolution, default function arguments, and template processing. Having a firm understanding of these mechanisms and how they interact will help you write user-friendly interfaces for you and your team.

This session begins by reviewing each of these mechanisms individually. It then examines how those mechanisms interact, focusing on situations that are most likely to occur in practice. Some of the questions that we’ll consider are:


     
  • How does the compiler resolve calls on overloaded functions with implicit conversions on multiple arguments?

  •  
  • Why does the compiler apply implicit conversions when resolving calls to overloaded functions, but not when making calls to function templates?>/li>


After this session, you’ll have a clearer understanding of how the compiler makes sense out of your code. With this knowledge, you’ll find it easier to craft interfaces that are easy to use correctly and hard to use incorrectly. You’ll also be better able to steer the compiler in your intended direction when necessary.
Speakers
avatar for Ben Saks

Ben Saks

Chief Engineer, Ben Saks Consulting
Ben Saks is the chief engineer of Saks & Associates, which offers training and consulting in C and C++ and their use in developing embedded systems. Ben has represented Saks & Associates on the ISO C++ Standards committee as well as two of the committee’s study groups: SG14 (low-latency... Read More →
Tuesday September 17, 2024 09:00 - 10:00 MDT
Cottonwood 2/3

14:00 MDT

Back to Basics: Debugging and Testing
Tuesday September 17, 2024 14:00 - 15:00 MDT
Your code is not working -- PANIC! Well, not quite! In this session we are going to show you how to write tests to uncover bugs in the first place (and to guard against regressions when they’re fixed) and how to identify the bugs’ root causes with a debugger. These two fundamental software engineering skills (debugging and testing) in combination helps us write better software by improving our confidence that bugs do not reappear -- especially as software scales and changes over time. Debugging and testing are two related skillsets, and in this talk we will provide an introduction and concrete tools showing by example how to utilize each skill together. If you have never used a debugger and think ‘if it compiles it must work’ then this is the talk for you.
Speakers
avatar for Greg Law

Greg Law

CEO, Undo.io
Greg is co-founder and CEO at Undo. He is a programmer at heart, but likes to keep one foot in the software world and one in the business world. Greg finds it particularly rewarding to turn innovative software technology into a real business. Greg has over 25 years' experience in... Read More →
avatar for Mike Shah

Mike Shah

Professor / (occasional) 3D Graphics Engineer
Mike Shah is currently a teaching faculty with primary teaching interests  in computer systems, computer graphics, and game engines. Mike's research interests are related to performance engineering (dynamic analysis), software visualization, and computer graphics. Along with teaching... Read More →
Tuesday September 17, 2024 14:00 - 15:00 MDT
Cottonwood 8/9

15:15 MDT

Unraveling string_view: Basics, Benefits, and Best Practices
Tuesday September 17, 2024 15:15 - 16:15 MDT
In the world of C++, efficient string handling is crucial for performance-critical applications. Enter string_view, a lightweight view into character sequences. In this talk, we’ll explore the fundamentals of string_view, its advantages over traditional string, how it compares to std::span, common pitfalls to avoid, and practical case studies for using it effectively. Whether you’re a beginner or an intermediate developer, join us to enhance your code’s performance and adopt better practices.
Speakers
JL

Jasmine Lopez

Software Engineer, Microsoft
PO

Prithvi Okade

Software Engineer, Microsoft
Tuesday September 17, 2024 15:15 - 16:15 MDT
Cottonwood 8/9
 
Share Modal

Share this link via

Or copy link

Filter sessions
Apply filters to sessions.
Filtered by Date -