«Также подскажите,как эффективно изучат С++?»
Так практики от силы пол страницы и полторы кода.
Вот мол топ «C++ Primer" (5-е издание)» там такая жуть...для начинающих я бы просто основы информатики дал, основы того, как работает микропроцессор, потом язык си и си++ можно. Мне нравилось как удачно вот этот автор описал
https://kpolyakov.spb.ru/school/c.htm Но хороший метод просто писать программы, попробуй сделать вывод строки, потом ввод и что-то повычисляй и так далее, просто такая игра...не можешь, ну смотришь хелп. Такой метод хорош, когда еще много языков уже знаешь, начинаешь сравнивать. А первый язык надо изучать в школе, вот который дают и по той методичке.