Говорят что его создатель Бьерн Страуструп специально сделал этот язык максимально сложным, дабы уменьшить конкуренцию себе, любимому, со стороны молодых программистов
Особых знаний в математике для этого не обязательно (интегралы по поверхности и тензоры не нужны для написания драйвера USB порта или программы редактирования текста), но понимать логику построения языка и иметь хотя бы базовые сведения об алгоритмах необходимо.