Ai invatat conceptele de programare bine? Daca da atunci lucrezi in ce limbaj vrei tu. Daca nu ar fi util sa continui cu c++. Vei invata mai bine niste concepte pe care le aplici pe urma unde vrei tu.
C# e un soi de Java. Nu e nici pe departe la fel de rapid ca C++, dar simplifică mult memory management, reduce erorile de programare, etc.
E ok pentru jocuri, dar ai o penalizare de performanță. La fel și pentru aplicații - deși dacă te referi la aplicații mobile pe iOS sau Android, nu e tocmai ce trebuie.
C++ este folosit de majoritatea game developerilor in engine-uri ca Unreal Engine si Unity.
In domeniul aplicaților, este suficient C# pentru aplicații de windows spre exemplu.
Sfatul meu este sa înveți întâi C# dacă iți pare mai ușor si apoi sa te muti înapoi pe C++, in momentul in care înveți un limbaj de programare cat de cat, restul o sa devina mai ușor de învățat pe parcurs pentru ca sunt similare din multe puncte de vedere.
Nu cred ca exista oameni care sa cunoască un limbaj de programare în detaliu, de cele mai multe ori cred ca majoritatea in funcție de problemă își cauta soluția online. - deci nu te descuraja dacă nu reușești sa înveți totul, este suficient sa cunoști noțiunile de baza si sa înțelegi cum funcționează.