Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
xma
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 6
#1

Как получить полный адрес по имени поля объекта класса - C++

12.01.2014, 04:18. Просмотров 398. Ответов 6
Метки нет (Все метки)

как получить полный адрес по имени поля объекта класса ?

не пересчитывая размер расположенных до него полей от начала объекта
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2014, 04:18     Как получить полный адрес по имени поля объекта класса
Посмотрите здесь:

Адрес объекта класса - C++
как можно получить адресс обьекта класса например создаю я класс в котором будет указатель типа моего класса, и мне надо в конструкторе...

Создание объекта по имени класса - C++
Привет, собственно вопроса три: 1) Как называется тип класса (то что в шарпе наззывается Type, и откуда его инклюдить) 2) Как зная...

Получить адрес объекта - C++
Есть задание: Реализовать пользовательский класс, имеющий конструктор по умолчанию и выполняющий вывод сообщения вида "я конструктор...

Получить адрес не статического метода класса - C++
Можно ли получить адресс не статического метода класса (статического можно - пробовал).

Удаление поля объекта класса - corruption of the heap - C++
в методе класса abc; for(int i=0;i<5;i++) { abc temp; temp=*this;//в перегрузке присваивания выделяется память под...

Как передать адрес объекта через функцию - C++
Здравствуйте! Надеюсь я правильно сформулировал вопрос, хотелось бы узнать как такое реализовать: //Есть функция с таким типом...

Как получить текущий адрес стека? - C++
Есть функция, предположим, WinMain. Я хочу вывести в лог указатель стека. Те высокоуровневого, а того, который push ax. Как это сделать?...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
outoftime
║XLR8║
506 / 428 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
12.01.2014, 09:39     Как получить полный адрес по имени поля объекта класса #2
xma, это из реверс инженерии? Опишите задание получше.

Добавлено через 4 часа 15 минут
offsetof это?
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.01.2014, 10:43     Как получить полный адрес по имени поля объекта класса #3
C++
1
&object.member
xma
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 6
12.01.2014, 18:37  [ТС]     Как получить полный адрес по имени поля объекта класса #4
Цитата Сообщение от alsav22 Посмотреть сообщение
C++
1
&object.member
так не работает .

предложили такое решение , а как на чистом C (там же тоже структуры есть) ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
struct A
{
    int a;
    char b;
    double c;
    virtual void foo()
    {
    }
};
int main()
{
    A b;
    std::cout << "Source object: " << std::hex << reinterpret_cast<ptrdiff_t>(&b) << std::endl;
    std::cout << "Member a: " << std::hex << reinterpret_cast<ptrdiff_t>(&b.a) << std::endl;
    std::cout << "Member b: " << std::hex << reinterpret_cast<ptrdiff_t>(&b.b) << std::endl;
    std::cout << "Member c: " << std::hex << reinterpret_cast<ptrdiff_t>(&b.c) << std::endl;
    return 0;
}
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.01.2014, 18:46     Как получить полный адрес по имени поля объекта класса #5
Цитата Сообщение от xma Посмотреть сообщение
так не работает .
А что, собственно, не работает? Адрес не выдаёт?
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.01.2014, 18:51     Как получить полный адрес по имени поля объекта класса #6
И где на работает?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
struct A
{
    int a;
    char b;
    double c;
    virtual void foo()
    {
    }
};
 
int main()
{
    A b;
    std::cout << "Source object: " << &b << std::endl;
    std::cout << "Member a: "      << &b.a << std::endl;
    std::cout << "Member b: "      << (void*)&b.b << std::endl;
    std::cout << "Member c: "      << &b.c << std::endl;
    
    return 0;
}
Миниатюры
Как получить полный адрес по имени поля объекта класса  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2014, 18:59     Как получить полный адрес по имени поля объекта класса
Еще ссылки по теме:

Как обратиться к функции поля объекта из private'a - C++
Доброго времени суток! Юзаю SFML для отрисовки. Как обратиться к функции setTextureRect, если я _sprite помещу в private? ...

Как программно получить адрес СОМ порта? - C++
Пишу программу для прошивки Flash памяти прибора через СОМ порт. Выяснилось, что при ошибке заливки, прибор выдаёт ошибку и начинает...

Как получить адрес параметра, передоваемого по ссылке? - C++
подскажите как получить адрес параметра, передоваемого по ссылке? void f(int &amp;a...) { int *p = ????; for(int i = 0; i &lt; 3;...

Как узнать размер объекта класса? - C++
Здравствуйте, Дамы и Господа! Есть ли функция, передающая значение количества байт, отведенных в памяти для объекта класса? Например...

Как получить адрес переменной типа unsigned char? - C++
Всем привет! Как получить адрес переменной типа unsigned char? Всё ерунда получается #include &lt;iostream&gt; using namespace std; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Kastaneda
Форумчанин
Эксперт С++
4479 / 2841 / 227
Регистрация: 12.12.2009
Сообщений: 7,224
Записей в блоге: 1
Завершенные тесты: 1
12.01.2014, 18:59     Как получить полный адрес по имени поля объекта класса #7
Цитата Сообщение от xma Посмотреть сообщение
как получить полный адрес
что подразумевается под полным адресом? Смещение? Виртуальный адрес? Линейный? Физический?
Yandex
Объявления
12.01.2014, 18:59     Как получить полный адрес по имени поля объекта класса
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru