Вы действительно хотите проверить свои умственные способности? Тогда попробуйте эти:
Александреску: Современный дизайн C ++
Абрахамс и Гуртовой: Метапрограммирование шаблонов C ++
Эти книги выглядят обманчиво тонкими, но они расширяют границы программирования шаблонов, вашего компилятора C ++ и вашего мозга.
Дизайн и эволюция C ++ Бьярна.
Приятно знать историю некоторых функций. Помогает понять, почему и как все работает, и, таким образом, легче запоминать и объяснять другим, почему некоторые вещи такие, какие они есть.
В зависимости от вашего определения продвинутого, и от того, сосредоточены ли вы на самих языках или темах, используете / используете эти языки (C / C ++).
Конечно, ответом стиля Дзен было бы изучение языков, отличных от C / C ++, чтобы узнать больше о C / C ++. Smalltalk, Lisp, Scheme, Haskell, Python, Prolog или Forth, например, языков из другой парадигмы программирования, которые могут расширить ваш подход к разработке в целом.
Modern C++ Design by Andrei Alexandrescu.
Подробно объясняет несколько паттернов проектирования и рассказывает, насколько мощным может быть C++.
Я не уверен, что вы сочтете эти возможности продвинутыми, но я бы определенно отнес их к категории обязательных ссылок:
Язык программирования C ++ Специальное издание (3-е) Бьярна Страуструпа
Стандартная библиотека C ++: Учебное пособие и справочник Николая М. Йосуттиса
Другие книги, которые я бы порекомендовал, уже были перечислены другими.
Крупномасштабное проектирование C++ от Джона Лакоса.
Практические советы по управлению сложностью компиляции/связывания и выполнения больших программ на C++. Много говорится о развязке и о том, как избежать многих видов зависимостей, возникающих в C++.
(Это то, что большинство C#/Java-разработчиков, и, к сожалению, некоторые C++-разработчики тоже, редко понимают. ИМО, это боль, которую они должны испытывать. Я бы хотел, чтобы в C++ уже были модули.)
.Стандарт C ++ . Вы не можете стать более продвинутым, чем это.
Аналогично для C, должна быть книга по стандарту C99, возможно, эта страница поможет: http://careferencemanual.com/
Моя любимая "сложная" книга по C ++ - это книга по метапрограммированию шаблонов: Метапрограммирование шаблонов C ++: концепции, инструменты и методы от Boost и не только .
Мне кажется, что книг о программировании на Си и вполовину не так много, как о C++. Просто язык не такой сложный.
Одним из интересных чтений может быть P. J. Plauger The Standard C Library. Предполагается, что в ней содержится несколько шедевральных кодов. Она есть в моем списке для чтения.
(Для C) Экспертное программирование на C: Глубокие секреты C без сомнения.