# CppCon Day 2

Here’s my notes for day 2!

## Will Your Code Survive the Attack of the Zombie Pointers?

Zombie pointers are ABA problem pointers.

Hazard pointers don’t solve the problem.

Paper - http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2369.pdf

## “Allegro” Means Fast and Happy. Coincidence?

• Binary search is bad for branch prediction
• Floyd’s algorithm
• Replace conditional jumps with conditional arithmetic
• $$(C(n) + M(n) + kD(n))/n$$ where $$C(n)$$ is comparisons, $$M(n)$$ is moves, and $$D(n)$$ is distance between subsequent array accesses. $$k$$ is some unknown constant.
• Performance improves with specializing to invariants. Should adjust hyper-parameters depending on things like type size, type move cost, type comparison cost, etc.

## SG20 Panel on Education

I asked a question! It was “what are some things the standards commmittee can do to help with poor error messages?” I don’t think the committee liked that question. Some people laughed at me after hearing it. The first answer I got was along the lines of “complain to your vendor.” But after I pressed it, they talked a bit about what you can do to teach students about error messages. Things like “show them the error messages in a controlled environment” and “translate the error messages for them the first time.”

## Behind Enemy Lines: Reverse Engineering C++ in Modern Ages

• MSVC uses registers to pass parameters when possible

## Networking

I told my friend Anushree that I hadn’t done any internships yet, and I think she felt bad for me, because we spent the next hour talking to recruiters who’d set up shop at the conference.

## C++ Smells

Constructions separated from assignment, output parameters, and other bad practices in C++. Solution is to put const everywhere.

## Lightning Talks

These were kinda disappointing. I was hoping to see something more like Chandler Carruth’s lightning talk from 2017, so I guess I was bound to be disappointed, but in general the lightning talk format felt pretty constraining for the presenters, and the content felt a lot less cool than the regular talks. I kinda wish I’d just gone to bed.