Учить ли c++ в 2018. Для знающего C#?
Если вы считаете, что за месяц, почитав базовую работу с int/string и циклами вы что-то освоили, вы глубоко заблуждаетесь, особенно учитывая ваши другие вопросы.
Изучите хотя бы один язык, тот же C# до уровня уверенного джуниора, потом уже будете считать себя "знающим C#", потому что сейчас вы его совершенно не знаете.
Учи алгоритмы и структуры данных. Потом почитай про паттерны проектирования, потом учи всё что связано с машинным обучением(machine learning). Этого тебе хватит минимум года на 2 чтобы хорошо изучить. Это базовые знания в программировании, которые желательно знать каждому программисту если хочется сделать что то посложнее чем обычный сайт.
Синтаксис это ерунда, любой синтаксис учится за 2 недели. Главное алгоритмы и структуры данных. 
С++ сложный, много тонкостей. Лучше используй С# и алгоритмы и структуры данных из книг реализовывай на нём.
Из книг по алгоритмам могу посоветовать Вирта, Сэджвика, Кормэна - это три разные книги, выбирай любую.