Ha, ha, c'est aussi l'impression que j'ai eu lorsque j'ai commencé à étudier ce langage. Mon erreur c'est d'avoir essayé de tout faire par moi même. C'est possible, mais attends-toi à en chier pour des années. Si tu veux t'investir là dedans, je te conseille très très fortement d'acheter un bon bouquin (genre Effective C++): ce bouquin va te montrer quels sont les pièges du langage (et en C++, tu vas être servi), quels sont les aspects moisis à éviter (là encore, avec 30ans d'existence ne t'attends pas à un langage sans aspérité), ceux qui vaut mieux être prudent et à quoi s'attendre lorsque tu combines tout ce petit monde, etc...
C'est un des aspects un peu décourageant en C++: le langage est extrêmement vaste. C'est sûr quand on en a fait 8h/jour, 5j. sur 7, pendant 15ans, on a le temps de s'aclimater en douceur à toutes ces évolutions. Mais lorsqu'on débute, on se prends 30 à 40 ans de featuritis dans la gueule, et ça fait mal. La maitrise du langage se paye: compte plusieurs années en solo, pour rester très très gentil. Mais même avec un bouquin, faudra tout de même plusieurs années avant d'arriver à faire autre chose que de la merde.
Certains (moi le premier) disent que c'est un peu cher. D'autant que tu pourras probablement pas te contenter d'aprendre les concepts qui t'intéresse et laisser tomber ceux que tu trouves moisis. Parce que toute application en général doit s'interfacer à un moment ou un autre avec le monde extérieur: et là, il y a à boire et à manger. Cela dit ça reste gérable: si vraiment tu dois te farcir un framework moisi, tu peux toujours coller une abstraction par-dessus qui masque l'essentiel du foutoir. Ce n'est pas parfait, certes, mais pour l'avoir fait un paquet de fois, ça reste gérable.
Le vrai problème avec le C++, c'est lorsque tu dois travailler en équipe avec un niveau hétérogène. C'est garantie que ça va t'arriver si tu t'investi là dedans. Vu la complexité du langage, il est illusoire d'espérer que tout le monde fera l'effort de connaître les moindres recoins/pièges à con qui te sont tendus par le langage. Ce n'est pas spécifique au C++, mais je trouve que c'est amplifié dans ce langage à cause de la surface gigantesque de ses fonctionnalités: trops de pièges, trop de fonctionnalités qui mène à des voies sans issues, voire dangeureuses (ha, ha, undefined behavior), le coté pointillieux qui fait que si on ne maitrise pas l'aspect on frôle dangeureusement le culte du cargo. J'ai tendance à dire que le C++ dans les mains d'un débutant, c'est comme donner une grenade à fragmentation dans les mains d'un bébé: bien souvent ça te pête à la gueule et il y aura quelques dommages collatéraux sur les personnes au alentour. La dernière version du langage (C++11) mitige pas mal ces problèmes, mais les chances de travailler une telle base de code à l'heure actuelle est quasi nul: si tu reprends un projet, il est plus que certains que tu vas te farcir un passif assez chargé (et l'âge du langage, va pas aider).
Le C est effectivement plus facile d'accès, mais la qualité des "frameworks" varient grandement. Moi qui travaille dans le domaine du traitement d'image, trop souvent je dois me farcir la manipulation de bitmap à coup d'arithmétique de pointeur. Par moment, j'aimerais vraiment avoir un truc un peu plus standardisé. Et grâce à ce joyeux foutoir, il m'aura fallu plus de 10ans avant de faire autre chose que de la merde en C/C++: connaître la plupart des pièges, frameworks, outils de la chaine de compilation/débugage, IDE, profilage, etc ... Avec le recul, je trouve ça très cher et quand je vois l'essort de langages comme Java/C#, je comprends tout à fait pourquoi certains ne veulent pas se prendre la tête avec autant de détails.
Si tu veux t'investir là dedans, attends-toi à en chier à un moment où un autre, ce ne sont pas des langages qui vont te tenir par la main et où quasiment tout est inclus par défaut, dans un ensemble relativement homogène (genre JDK ou .NET). Quand on sait à quoi s'attendre, en général la pillule passe beaucoup mieux.
Voilà pour mes 2¢ d'€ (je devrais dire $CAD, mais ils ont retiré les pièces 1¢ ).