C++Now 2018
2018-05-06..2018-05-11
Aspen, United States
C++Now ·
[C++Now 2017, C++Now 2018, C++Now 2019, C++Now 2022, C++Now 2023, C++Now 2024, C++Now 2026]
| title | author | length |
|---|---|---|
| Ø | Serj Biolkhatniuk | 06m |
Claims that codebase complexity often outpaces domain complexity, shifting from an ideal pancake model to a problematic cello model that produces a persistent… | ||
| The Object Upside Down | Louis Dionne | 05m |
Creates an instance of a non-default-constructible type by placing two layout-compatible wrapper structs into a union, activating one, reading the other… | ||
| C++ Reflection via Clang LibTooling | Griffin Downs | 05m |
A Clang LibTooling-based tool parses the Clang AST and emits generated metadata headers that define a reflect function returning a specialization of a… | ||
| Poetry | JeanHeyd Meneide | 03m |
Proposal to add compile-time resource embedding to C++ so files (and even network-fetched data) become binary-resident, addressable objects at compile time… | ||
| Talk to me! The art of reporting a bug | Anastasia Kazakova | 04m |
Lots of reports lack the few concrete details that make triage possible: include compiler name and version because IDEs mirror compiler behavior, attach a… | ||
| C++ Execution Model In Five Minutes | Bryce Adelstein Lelbach | 04m |
Defines expressions as value computations plus initiation of side effects and separates value computations from side-effects; side effects can be visible… | ||
| ForTransformers vs deCeePeePeeticons | Tobias Loew | 05m |
http://cppnow.org
—
Lightning Talk
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at… | ||
| A Fool's Consistency | Jonathan Müller | 04m |
Argues the C++ const-placement feud between const West and const East and offers a practical compromise called const CL. Shows a concrete rule for where to… | ||
| We have always been at war with West Constia | Phil Nash | 05m |
Proposes using trailing return types everywhere so function names appear first, with concrete code examples and slides showing how declarations line up and… | ||
| An allocator is a handle to a heap | Arthur O'Dwyer | 04m |
Claims that an allocator can be a true handle to a heap versus merely carrying state and gives concrete code and runtime behavior: implements a PMR-like… | ||
| C++ Potpourri 2 | Richard Powell | 03m |
Research into anagrams traces back to the ancient Greeks and this lightning set presents playful results rather than algorithms: examples rework names (e.g… | ||
| Workflow Modeling with Boost Graph Library | Philip Salvaggio | 05m |
Uses Boost Graph Library with an adjacency_list configured as a bidirectional directed acyclic graph to model job dependencies for processing thousands to… | ||
| Loop Exit Blocks: A proposal for C++20 | Alan Talbot | 05m |
Proposal for an end-of-loop syntax that attaches two optional blocks: one runs when a loop finishes naturally and one runs when it exits by break. Concrete… | ||
| Puzzler | Leor Zolman | 04m |
A live puzzler asks the crowd to name the C++ standard's 14 built-in type categories, calling out that two are C++11 additions and two are relatively obscure… | ||
| This is Why We Can't Have Nice Things | Jon Kalb | 05m |
Argues for a single, consistent const placement (prefer constants on the left) and shows concrete examples where mixed styles make pointer-vs-pointee meaning… | ||
| SFINAE: Substitution Failure Is Not An Error | Agustín Bergé | 05m |
Explains that SFINAE is lazy and performs substitution in lexical order, stopping at the first failure so later templates never instantiate; shows two… | ||
| Easing into Modern C++ | Ben Deane | 05m |
Seven small, adoptable C++ changes that pay off immediately: override found a four year old bug; use underlying enum types to make serialization and forward… | ||
| Avoiding Virtual Call in CRTP | Daniel Dilts | 04m |
Embedded serialization needs extremely low overhead so a virtual call is unacceptable. A CRTP-based base class replaces repeated implementations and an initial… | ||
| Lightning Talk | Odin Holmes | 06m |
Explains lightning as sequential electrical and thermal processes: atoms with light, fast electrons get ripped off create local charge imbalances; charged… | ||
| Copy Elision | Jon Kalb | 05m |
Explains why compilers pass an address for a function result and contrasts the naive copy sequence with return value optimization by showing stack frames for… | ||
| Code Generation: The Lisp Way | Jean-Louis Leroy | 06m |
Compares Lisp-style macros to C++ template metaprogramming and argues macros are true compile-time code generation, demonstrates list-based backquote/unquote… | ||
| Where Should I Be? | JeanHeyd Meneide | 06m |
I trace a path from suburban New Jersey to Boston high school to an HBCU then Columbia, scoring AP Chemistry 5 along the way, trying social fits rather than… | ||
| C++ Puzzler | Leor Zolman | 06m |
Lightning puzzler: write a valid portable C or C++ program that prints "hello world" using no semicolons. Concrete answers: C++ solution uses #include… | ||
| 11 Years of Boost at Conservancy | Bradley M. Kuhn | 05m |
Conservancy operates as a 501(c)(3) charity formed in 2006 and takes on fiscal sponsorship and back-office work for open‑source projects; Boost asks… | ||
| Placement New | Jonathan Müller | 05m |
Shows live code that constructs types into a raw buffer and then breaks when reusing the slot without a proper destructor call, demonstrating undefined… | ||
| Enums four ways | Wissam Mehio | 04m |
Compares four concrete ways to get enum names and values: a boost preprocessor macro list that builds a constexpr string array (works fast and at compile time… | ||
| Improving Debuggability with GDB's Python API | Jeff Trull | 06m |
Uses GDB Python API plus libclang to map the stopped file/line into AST cursors, enumerate calls and lambdas, and set temporary breakpoints so single-stepping… | ||
| for_each_adjacent<N> | Marcel Ebmer | 05m |
Implements a compile‑time sized loop called for_each_adjacent<N> that invokes a callable on each N‑tuple of consecutive elements (works for N=1,2,3 and… | ||
| nothing matches | ||