В современном C++ из творчества компилера вспоминается только std::initializer_list -- код можешь в хидере подглядеть, но если переименуешь -- не заработает. Вот тут магия. А больше никакой магии, C++ предельно честен. В отличии от паделок микрософта, где ожидаешь в любом месте.