Форум программистов, компьютерный форум, киберфорум
Наши страницы

как устроена динамическая идентификация типов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сформировать запись http://www.cyberforum.ru/cpp-beginners/thread982040.html
Сформировать запись "MAGAZIN",содержащую сведения об ассортименте игрушек:название игрушки,цена,количество,возрастные границы (например от 2 до 5 лет).Используя сформированную запись,вывести на экран...
C++ Реакция на раскладку на if(key=='w') { TranslatefX=TranslatefX+30; } реагирует http://www.cyberforum.ru/cpp-beginners/thread982039.html
Определить количество слов в каждой строке , начинающихся на ‘А’ и заканчивающихся на “ и” C++
Определить количество слов в каждой строке , начинающихся на ‘А’ и заканчивающихся на “ и” #include <stdio.h> #include <conio.h> #include <string.h> #include<iostream.h> #include<fstream> ...
C++ Массивы слов
Здравствуйте, нужна помощь. Требуется выполнить следующее задание: В двумерном массиве записаны слова, представляющие собой последовательность цифр, завершающихся 0. Необходимо распечатать слова...
C++ Подскажите, где ошика? http://www.cyberforum.ru/cpp-beginners/thread982023.html
Я новичок. Создал обычную ф-ию на шоб вычесляла, существует ли треугольник аbc(а+b>c,c+b>a,c+a>b). если да, то пусть посчитает его периметр, площадь. После этого пуст напишет на экране Yes,периметр и...
C++ Просклонять слово "Час" Просклонять слово "Час" в зависимости от введенного времени на часах. Например: 1 час; 2 часа; 5 часов; ... подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
19.10.2013, 22:53
Цитата Сообщение от voipp Посмотреть сообщение
Здрасте! Меня интересует, как компилируемая программа может проводить RTTI , если во время компиляции типы данных еще не известны.
Типы данных, необходимые компилятору, известны: это указатели куда-то в память, где должны лежать объекты таких-то типов. Ему неизвестны конкретные типы данных тех объектов, которые лежат в памяти.

Объекты, поддерживаемые RTTI, обязаны иметь таблицу виртуальных функций. Вот в эту таблицу помимо указателей на функции кладётся ещё указатель на некий дескриптор класса. Компилятор знает, где у объектов лежит эта таблица, и знает, где в таблице указатель на дескриптор. Так он может по известному указателю на неизвестный объект определить тот дескриптор.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru