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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
Виктор_Сен
33 / 26 / 1
Регистрация: 01.08.2011
Сообщений: 176
#1

Смещение полей структуры - C++

18.12.2011, 15:37. Просмотров 1721. Ответов 5
Метки нет (Все метки)

Как можно узнать смещение поля структуры относительно адреса структуры? Если просто сложить размеры предыдущих элементов, то результат может оказаться неправильным из-за выравнивания. Если взять адрес поля и вычесть из него адрес начала структуры, то это можно сделать только на этапе исполнения. Может есть другой способ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2011, 15:37     Смещение полей структуры
Посмотрите здесь:

Не очевидное смещение к полям структуры - C++
Доброе время суток! Столкнулся с непонятным мне вопросом... у меня есть структура: struct A { uint16_t x; uint32_t y; }

Заполнение полей структуры - C++
Нужна ваша помощь! Нужно считать файл и записать в массив. Потом из этого массива надо раскидать значения по полям структуры. Как это...

Заполнение полей структуры - C++
Подскажите, в чем ошибка. #include "stdafx.h" #include <stdio.h> struct sign { char Lastname; char Firstname; char...

Расположение полей структуры в памяти - C++
Нифига себе на что плюсы способны... #include "stdafx.h" #include <time.h> #include <stdlib.h> #include <iostream> using...

Расположение полей структуры в памяти - C++
Есть структура MyStruct содержащая в себе два поля int. Есть массив объектов MyStruct. Гарантируется ли что поля MyStruct будут расположены...

Изменить одно из полей структуры - C++
Пользователь вводит с клавиатуры день рождения(напр 15) Внутри структуры изменить 15 на 1.И далее вывести на экран.

Инициализация всех полей структуры - C++
Всем привет. struct sFoo { int a; char b; struct {

Инициализация полей структуры из файла - C++
Помогите, пожалуйста, разобраться с файлами. Имеется такая структура: enum Pos {director = 1, manager, bookkeeper, secretary,...

Сортировка разных полей структуры - C++
Сразу извиняюсь за кривой заголовок темы) В общем, появилась необходимость добавить сортировку в программу, использующую некий...

Чтение из файла полей структуры - C++
есть файл в котором есть таблица с данными, вывод в файл идет с помощью вот такой функции : void FileOutput(char* d) { dish* p=head; ...

Вывод на экран полей структуры - C++
есть структура и функция которая считывает данные из файла и заносит в структуру, но структура передается в функцию через вектор и вывод :...

Передача полей из структуры А в структуру В - C++
Всем привет. Прошу помощи в работе над структурами. Есть 2 структуры: namespace { using std::array; #pragma pack(push, 1) ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kisssko
31 / 31 / 2
Регистрация: 19.12.2011
Сообщений: 72
19.12.2011, 06:53     Смещение полей структуры #2
http://lmgtfy.com/?q=offsetof http://en.wikipedia.org/wiki/Offsetof
GoldenId
125 / 123 / 32
Регистрация: 11.11.2010
Сообщений: 638
Записей в блоге: 12
Завершенные тесты: 1
29.01.2014, 12:26     Смещение полей структуры #3
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.01.2014, 18:07     Смещение полей структуры #4
Цитата Сообщение от Виктор_Сен Посмотреть сообщение
Как можно узнать смещение поля структуры относительно адреса структуры?
Для чего? Есть указатели на поля, которые, обычно, реализуются как смещения относительно адреса структуры.
Виктор_Сен
33 / 26 / 1
Регистрация: 01.08.2011
Сообщений: 176
27.02.2014, 16:22  [ТС]     Смещение полей структуры #5
Цитата Сообщение от alsav22 Посмотреть сообщение
Для чего? Есть указатели на поля, которые, обычно, реализуются как смещения относительно адреса структуры.
Ну Вы конечно верное время выбрали, когда отвечать. Как говорится, поздно батенька. Поезд ушёл. Вопрос когда был задан? В 2011 году. Я тогда ещё только начинал разбираться с азами программирования. И сейчас, если мягко сказать, это проблемы уже давным-давно не актуальны. Я даже сейчас не помню, что я тогда делал, и зачем мне это нужно было. Скорее всего это было под пивко... главное, что та проблема была решена...
alsav22
27.02.2014, 18:53     Смещение полей структуры
  #6

Не по теме:

На дату не посмотрел (или дата последнего поста сбила). Тут такое бывает.

Yandex
Объявления
27.02.2014, 18:53     Смещение полей структуры
Ответ Создать тему
Опции темы

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