В свое время выбрал С++ и ничуть не пожалел.
Если знаешь С++, то С# и учить то нечего.
Но вот с Шарпа слазить на плюсы мне кажется не очень будет (привыкание к сборщикам мусора и т.д.).
С++ - это язык высокого уровня, на нем можно писать как драйвера, так и игры.
С# - это язык высокого уровня, и дрова на нем уже не попишешь. Он заточен под приложения и игры.
Так что если под фриланс, берите плюсы, в дальнейшем можно перейти на более серьезные проекты.
На Шарпе же только в игровую индустрию и идти, ибо на фрилансе ему спроса практически нет.