The C++ Iceberg
Links are clickable!
Send suggestions
on GitHub
😊
0[arr]
#define private public
inline does not mean inline
most vexing parse
C++ is not a
superset of C
<iosfwd>
spaceship operator
else if
is a lie
digraphs
--> operator
protected abstract virtual base pure
virtual private destructor
vector<bool> is broken
unary minus with unsigned operand
analog integer literals
templates turing completeness
was an accident
C++ fqa lite
std::move does not move
std::remove does not remove
the strange details
of std::string
iostream was a mistake
rvalue references are lvalues
function try blocks
T&& is not an
rvalue reference
shared_ptr is an anti-pattern
initialization matrix
the for loop is broken
constexpr does not mean what
you think it means
implicit char* to bool& conversion
const std::string bitand
the grand error
explosion competition
operator,()
herbceptions
templates are obfuscated haskell
C++0x is a
hexadecimal name
heap and stack don't exist
hello world has a bug
compilers disprove fermat’s
last theorem
C++0x concepts were rust traits
zapcc compiler
...... is valid syntax
i have no constructor
and i must initialize
std::optional is a monad
the preprocessor
iceberg
C++ active issues
break abi to save C++
abominable
function types
godbolt is a real person