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

Вопрос о типах данных С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Инициализацию DirectDraw http://www.cyberforum.ru/cpp/thread60584.html
Ув.Программисты помогите пожайлусто. Изучаю книгу "Фленов - DirectX и C++ Искусство программирования" Перешел к главе Инициализацию DirectDraw вот код: ddfunc.h #define _DDFUNC_H_ #include "d3dx9math.h" #include "ddraw.h" //Функция инициализации Direc3D // Функция инициализации Direct3D HRESULT DXDDInit(IDirectDraw7 **ppiDD,
C++ Вывод повторяющихся слов текста из файла Написать программу на Си, которая считывает текст из файла и записывает каждое слово в отдельный элемент массива. Вывести на экран: а) посчитать и вывести на экран количество вхождений каждого слова в текст, б) вывести 5 наиболее часто встречающихся слов. Размер массива должен определяться автоматически на основе данных, находящихся в файле Набросал вывод каждого слова и избавление от знаков... http://www.cyberforum.ru/cpp/thread60515.html
C++ Доступ к protected членам базового класса
Здравствуйте, форумчане! Ниже приведенный код при компиляции вызывает следующую ошибку: error C2248: 'Element::AddTo' : cannot access protected member declared in class 'Element' element.cpp 21. Всю жизнь считал, что protected члены базового класса доступны для производных классов. Разъясните, это я дурак, или лыжи не едут? #include <iostream> class Element {
Подскажите решение... C++
Доброе время суток! Имеются числа А1,А2,...,АN и B1,B2,...,BN. Составить из них N пар (Аi, Bj) таким образом, чтобы сумма произведений пар была максимальна (минимальна). Каждое Ai и Bj в парах встречаются ровно по одному разу. Возможно пригодится: Чтобы сумма произведений пар была максимальна (минимальна) необходимо упорядочить наборы A и B одинаковым (различным) образом и пары будут составлять...
C++ Как можно пройти через бесконечный цикл ??? http://www.cyberforum.ru/cpp/thread60199.html
У меня случилось что-то вроде парадокса. Прогал я в Eclipse (у него компилятор MinGW, отладчик GDB), напрогал выложенную ниже программу. Компилирую ее, кладу рядом с бинарником файл test.txt с каким-нибудь текстом. Запускаю. В консоли выводится содержимое текстового файла, который лежит рядом. Далее начинаю отлаживать программу. При отладке выясняется, что самый первый цикл в программе -...
C++ Приоритеты операций Доброго времени суток! Я недавно начал изучать С++. Читаю книгу "Липпман. С++ для начинающих". И в ней на странице 178 есть таблица с приоритетами операций. Эта таблица по идее должна быть разделена на секции, отделяющие операции с одинаковым приоритетом. Но этих секций невидно!!!:wall: Смотрел в Интернете таблицы из других источников, но они все намного меньше, чем таблица в этой книге. И... подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
17022 / 5427 / 336
Регистрация: 30.03.2009
Сообщений: 14,693
Записей в блоге: 26
02.11.2009, 23:44     Вопрос о типах данных С++
Цитата Сообщение от АНК Посмотреть сообщение
А выравнивание данных надо бы поставить по-байтное. Тогда у структуры из двух long double'ов sizeof будет 20.
Я не знаю, как это на брланде и микрософте делать, но на gcc результаты такие

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <conio.h>
 
int main (void)
{
    struct s1 { long double a[2]; };
    struct s2 { long double a1, a2; };
    struct s3 { long double a[2]; } __attribute__((packed));
    struct s4 { long double a1, a2; } __attribute__((packed));
    struct s5 { long double a; char c; };
    struct s6 { long double a; char c; } __attribute__((packed));
    printf ("%d\n", sizeof(struct s1));
    printf ("%d\n", sizeof(struct s2));
    printf ("%d\n", sizeof(struct s3));
    printf ("%d\n", sizeof(struct s4));
    printf ("%d\n", sizeof(struct s5));
    printf ("%d\n", sizeof(struct s6));
    getch();
    return 0;
}
Код
24
24
24
24
16
13
Добавлено через 1 минуту
Цитата Сообщение от АНК Посмотреть сообщение
Тогда у структуры из двух long double'ов sizeof будет 20. А то можно получить sizeof и 32 у такой структуры!
Поля в структуре раскладываются не кому как захочется, а СТРОГО по программным соглашениям на архитектуру. Все компиляторы должны это делать одинаково (правда для упакованных полей наврядли в ABI что-то написано).
 
Текущее время: 09:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru