~/talk

C++ Insights: See your source code with the eyes of a compiler

Talkat NDC TechTown 2019 · 2019-09-02..09-05· [compilers-and-language-design]
slides:none on file

C++ Insights is a Clang-based source-to-source tool that shows what the compiler actually does by transforming code back into readable C++, emitting things like implicit integer promotions, temporary copies from post-increment, lambda closure classes with captured members, and range-for expansion. It runs as a website or CLI, aims to produce compilable C++ output, relies on the Clang AST, and exposes template instantiations (with placement limitations), stdlib noise, partial C++17/C++20 support, and compiler warnings so invisible behavior becomes visible.

AI-written summary · about

  1. 0:00Introduction to speaker
  2. 1:30Why C++ Insights exists
  3. 4:22Demonstrating implicit casts
  4. 6:11Tool goals and open source
  5. 7:54Limitations and AST
  6. 11:05Handling templates
  7. 14:45AST complexity and purpose
  8. 17:22Default arguments
  9. 18:46Object initialization
  10. 22:31Narrowing and warnings
  11. 24:41In-class member initialization
  12. 27:17Lambda expressions
  13. 30:41Constexpr parameters
  14. 33:01Range-based for loops
  15. 35:09Iterators and const map keys
  16. 38:30For loops with initializers
  17. 40:19Multiple initializations
  18. 42:01Variadic templates and fold
  19. 44:57Template overload resolution
  20. 48:00Constexpr if
  21. 48:27Else if and static assert
  22. 51:18Template parameter types
  23. 52:39Fold expressions demo
  24. 54:25Generic lambdas
  25. 56:30Conclusion and Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.