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

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

Войти
Регистрация
Восстановить пароль
 
xma
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 6
12.01.2014, 04:18     Как получить полный адрес по имени поля объекта класса #1
как получить полный адрес по имени поля объекта класса ?

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

C++ Адрес объекта класса
C++ Получить адрес объекта
Как получить private переменную класса, функцей членом другого класса C++
Получить доступ к переменной класса при наличии такого же имени переменной в функции C++
C++ Адрес объекта, адрес указателя. Где что находится?
C++ Друзья, подскажите, говорят, что можно поля класса инициализировать в момент объявления класса. Как это сделать?
C++ Удаление поля объекта класса - corruption of the heap
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
12.01.2014, 09:39     Как получить полный адрес по имени поля объекта класса #2
xma, это из реверс инженерии? Опишите задание получше.

Добавлено через 4 часа 15 минут
offsetof это?
alsav22
5284 / 4803 / 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
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.01.2014, 18:46     Как получить полный адрес по имени поля объекта класса #5
Цитата Сообщение от xma Посмотреть сообщение
так не работает .
А что, собственно, не работает? Адрес не выдаёт?
alsav22
5284 / 4803 / 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     Как получить полный адрес по имени поля объекта класса
Еще ссылки по теме:

Как получить доступ к методам класса, который содержится в векторе класса C++
Как передать адрес объекта через функцию C++
C++ Получить адрес не статического метода класса
Создание объекта по имени класса C++
Как в классе А у объекта класса B вызвать метод класса B ? C++

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

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

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