Для средних программ в среднем пять лет. По теме учить всю жизнь - на самом деле приведенного выше Вам будет достаточно, все остальное учиться только мере необходимого и обычно это уже не сам С++, а всякие готовые библиотеки на его основе и темы, необходимые для решения конкретной связанной задачи.