Hacker News new | ask | show | jobs
by ksherlock 1164 days ago
The compiler is doing a bunch of complicated stuff at compile time. In fact it's both a C++ compiler and a C++ interpreter.

static_assert is a compile-time check.

[] { ... }(); is an immediately executed lambda function (IIFE in javascript parlance).

list<int> list{} is a linked list of integers (double-linked, forward and backward). push_back() allocates more memory. pop() / clean() deallocates memory.