CppCon 2018: Titus Winters “Standard Library Compatibility Guidelines (SD-8)”

preview_player
Показать описание



This talk will discuss the details of those proposals and that SD, and what it means for you. What uses of the standard library are guaranteed? What uses are sketchy, but you'll maybe get away with? What uses will make it difficult or impossible for you to upgrade to future language versions?

Titus Winters, Google
C++ Codebase Cultivator

Titus Winters has spent the past 6 years working on Google's core C++ libraries. He's particularly interested in issues of large scale software engineer and codebase maintenance: how do we keep a codebase of over 100M lines of code consistent and flexible for the next decade? Along the way he has helped Google teams pioneer techniques to perform automated code transformations on a massive scale, and helps maintain the Google C++ Style Guide.


*-----*
*-----*
Рекомендации по теме
Комментарии
Автор

I think people have an important misconception that C++ revisions are generally backwards-compatible. While it is a goal of the committee, which is doing an excellent job, little things do generally break on C++ update in codebases of any substantial size and this talk explains the technical reasons why they do.

Also, I actually forgot how bad the ADL was in C++, thanks for the reminder.

piotrarturklos
Автор

Which talk was "Ben's Talk" mentioned a bit before the 3 minute mark?

echodeal
Автор

I think that example with `std::vector v; Foo(&v.size())` is wrong. I mean, yes, it's probably UB (dangling pointer to a temporary and all that), but the actual, defined-to-be-UB code is `Foo(&v.size)` -- you can't take the address of a member function.

UCHHFiXnPsuMhyIKDOlsZA