Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Считывание данных из файла http://www.cyberforum.ru/cpp-beginners/thread1969976.html
Нужно реализовать вывод данных структуры из файла.. Задание: Заполнение футбольных команд и вывод их на экран. Вводим: название команды, страна, кол-во трофеев и кол-во игроков.. Также выводим...
C++ Конструктор копирования Выводит мусорное значение в случае сохранения изменений. что не так? void Account::WithdrawMoney() { char c; Account *Jon = new Account(LastName, number, procent, summ); Account *I = new... http://www.cyberforum.ru/cpp-beginners/thread1969970.html
C++ Реализовать класс Priorityqueque с операциями push и front
Реализовать класс Priorityqueque с операциями push и front
Ребят, выручайте. Функция fstream C++
Не могу понять как ей воспользоваться, чтобы считать переменные для проги с файла. Вот код #include "stdafx.h" #include <iostream> #include <fstream> using namespace std; int main() {...
C++ Алгоритмы поиска всех делителей для натурального числа http://www.cyberforum.ru/cpp-beginners/thread1969941.html
Хочу поделится 2 алгоритмами, которые сегодня набросал. Диапазон задаваемых натуральных чисел до 18 446 744 073 709 551 615. Если есть свои, более быстрые алгоритмы, интересные и необычные, прошу :)...
C++ Чтение и запись в файл целочисленных переменных Как записать в файл целочисленное значение, чтобы после этого можно было его считать и работать с ним. Например, записать сумму вклада и его дату. После чего открыть этот файл, считать все вклады и... подробнее
Evg
Эксперт CАвтор FAQ
19313 / 7168 / 533
Регистрация: 30.03.2009
Сообщений: 20,051
Записей в блоге: 30
28.04.2017, 13:02 0

Расположение полей структуры в памяти

28.04.2017, 13:02. Просмотров 900. Ответов 13
Метки (Все метки)

Лучший ответ Сообщение было отмечено Renji как решение

Решение

Цитата Сообщение от Saqr Посмотреть сообщение
а в стандарте есть хоть слово об этом? можно вырезку?
У меня нет под рукой стандарта

Цитата Сообщение от Saqr Посмотреть сообщение
вот, что я могу привести
К выравниванию это не имеет вообще никакого отношения

Элементы массива должны вплотную лежать друг за другом. Тупо потому, что без этого поинтерная арифметика работать не будет. Т.е. если у нас в указателе p записан адрес 5-го элемента массива, то указатель p+1 должен указывать на 6-й элемент массива

Как располагаются поля в структуре - скорее всего описано как implementation defined. В любом случае если указатель p указывает на 3-е (в колхозно-бытовом понятии) поле структуры, то из стандарта никак не следует, что p+1 будет указывать на 4-е поле структуры

Добавлено через 53 секунды
Цитата Сообщение от MrGluck Посмотреть сообщение
Нет, надо принять во внимание выравнивании полей в структуре.
Чего и как принимать во внимание внутри структуры, вытекает из программных соглашений, а не из стандарта

Добавлено через 8 минут
Точнее не так. По стандарту каждое из полей структуры должно быть выровнено на размер выравнивания типа поля. Но какие при этом могут возникнуть дырки, не сказано. Т.е. структура, состоящая из двух int'ов вполне может иметь размер 16, выравнивание 4, данные будут располагаться в порядке: первое поле, 4 байта дырка, второе поле, 4 байта дырка. Если на каком-нибудь маргинальном процессоре сделают такое программное соглашение, то оно не будет противоречить стандарту

Вернуться к обсуждению:
Расположение полей структуры в памяти
1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2017, 13:02
Готовые ответы и решения:

Расположение полей структуры в памяти
Нифига себе на что плюсы способны... #include &quot;stdafx.h&quot; #include &lt;time.h&gt;...

Расположение в памяти полей и методов класса
помогите пожалуйста с вопросом: расположение в памяти полей и методов класса

Структуры, нумерация полей структуры
Добрый день, у меня есть задачка, она решена. Но меня попросили &quot;предусмотреть...

Расположение переменных в памяти
int x; int y; int f; cout&lt;&lt;&amp;x&lt;&lt;' '&lt;&lt;&amp;f; f идет после x(x-&gt;f) int x;...

Расположение переменных в памяти
Было в Эккеле вот такое вот упражнение : &quot;Определить подряд два массива типа...

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