В каких книгах хорошо описываются внутренние процессы С++?
Можете подсказать книги в которых хорошо описываются внутренние процессы С++.
К примеру где физически хранятся виртуальные таблицы, как они создаются(подробнее.)
Как в адресной памяти укладываются части классов и структур, что происходит при выделении памяти(К примеру что за байты лежат перед первым указателем на выделенную память)
Какие указатели укладываются в регистры, в каком порядке и тд?
На счет использования регистров это вам нужно смотреть соглашения о вызовах (stdcall и т.п.). В интернете есть.
По остальному - все это сильно зависит от компилятора, от используемой стандартной библиотеки (она хоть и стандартная, но реализаций есть несколько). Так что книг с описанием внутреннего устройства вы скорее всего не найдете.
где физически хранятся виртуальные таблицы, как они создаются
Это самостоятельно реализуется каждым транслятором своими собственными силами. Т.е. общей информации нет.
Как в адресной памяти укладываются части классов и структур, что происходит при выделении памяти
Это самостоятельно реализуется соответствующими рантаймами. Общей информации об этом нет.
Какие указатели укладываются в регистры, в каком порядке и тд?
Это относится к целевым архитектурам процессоров. Общей информации тоже нет.
Тебе нужно читать целевую литературу о выбранной оси, выбранной архитектуре процессора, выбранной модели аллокатора, выбранном трансляторе. Общей и всеобъемлющей информации об этом нет.
Владимир Коротенко , ссылка не на стандарт, а на документацию. Кардинальные отличия, думаю, для тебя прозрачны.
Стандарт же по всем поднятым вопросам дает один ответ: Implementation defined. Всё.
Честно ума не приложу, зачем оставлять такой ответ под таким вопросом.
Какие указатели укладываются в регистры, в каком порядке и тд?
Я думаю что этот вопрос выходит за рамки чистого С++. По крайней мере компиллятор clang
может перекладывать эту задачу на backend компиллятор и уже тот в свою очередь решает
в каком порядке.