Форум программистов, компьютерный форум 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/thread60147.html
Доброго времени суток! Я недавно начал изучать С++. Читаю книгу "Липпман. С++ для начинающих". И в ней на странице 178 есть таблица с приоритетами операций. Эта таблица по идее должна быть разделена на секции, отделяющие операции с одинаковым приоритетом. Но этих секций невидно!!!:wall: Смотрел в Интернете таблицы из других источников, но они все намного меньше, чем таблица в этой книге. И...
C++ Запуск exeшника из exeшника Может подтупляю, но что-то застопорился в следующем вопросе: как запустить exe фаил (скомпилённое консольное приложение) с рядом парметров во время выполнения цикла мой программы. поясняю. ситуация такая: есть мой консольное приложение, там крутиться цикл. выполнив ряд действий, требуется запустить exeшник передав ему некоторые парметры, он отработает, результат его работы употребить на благое... подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
17545 / 5783 / 370
Регистрация: 30.03.2009
Сообщений: 15,930
Записей в блоге: 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 что-то написано).
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru