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

Не очевидное смещение к полям структуры - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дайте задач http://www.cyberforum.ru/cpp-beginners/thread636652.html
Здравствуйте! Изучаю я c++ уже больше 2 лет. Встречался с сортировками, поисками, хэш-таблицами, наследованием, virtual функциями, стэками, списками одно/дву связными, очередями, многопоточностью(совсем чуть-чуть), деревьями всякими, переопределением операторов, немного winapi - рисовал 3d щар с правильным освещением и еще можно что нить вспомнить =) так вот хотел летом написать всем...
C++ Указатели Здравствуйте! Так сложилось что я не понимаю как использовать указатели, всвязи с этим не могу двигаться дальше по изучению С++. ?: почему при объявлении указателя на integer, например int *p, далее в программе используеться переменная p без звёздочки? Что это значит? http://www.cyberforum.ru/cpp-beginners/thread636648.html
C++ Русские буквы в консоли
У меня прекрастно выводятся русские буквы в консоль, но если я ввожу русский текст в какуюту переменную, то вывести ее коректно не получается: #include "stdafx.h" #include <iostream> #include <string> #include <conio.h> using namespace std;
C++ Не получается создать поток
Здравствуйте. Есть код, создающий поток: #include "stdafx.h" #include <Windows.h> #include <process.h> void inThread(void* pParams); void main() {
C++ Отказ в доступе http://www.cyberforum.ru/cpp-beginners/thread636620.html
Я программно создаю в директории C:\Windows папку с фалами, но при выполнении этой программе мне пишут в консоль: отказано в доступе не удается найти указанный путь. Что делать? Добавлено через 58 секунд Вот код фунцкии: void dir(void) { bool i; if(ifstream ("C:\\Windows\\BasDoc\\dir.txt")) {i=true;} else {i=false;} if (i==true) {cout<<i;}
C++ Закон отражения в ограниченой зоне на консольном приложении Честно скажу, с++ впервые увидел в январе, понимаю 7е очень много, но более менее, пишу программу нужно задать с терминала размер поля в консоли, поле рисуется псевдографикой, с этим я разобрался. дальше нужно задать вектор по которому будет двигаться шарик, в данном случае это '*'. не могли бы вы объяснит мне как можно осуществить закон отражения в с++? шарик должен перемещаться в этой зоне.... подробнее

Показать сообщение отдельно
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
13.08.2012, 00:31     Не очевидное смещение к полям структуры
всякими прагмами есть возможность выравнивание отключать. но в этом случае могут возникнуть тормоза или еще какая-нибудь хрень. на разных компиляторах и при сборке под разноразрядные (32 64 рязрадные версии) тоже могут возникруть проблемы. так что выравнивание - штука хитрая. можно попробовать переставить поля местами. в этом случае размер структуры так же может оказаться больше 6 байт, но если на память, занимаемую структурой накатить голые 6 байт, то поля у структуры будут иметь правильныe значения. но как будет в случае 64разрядных машин - хз

вот прагму уже написали. но из-за упаковки могут возникнуть другие более злобные проблемы

вот быстрым поиском нашлась какая-то статейка, в которой что-то написано и есть ссылки на другие похожие темы:
http://www.realcoding.net/articles/u...e-dannykh.html
 
Текущее время: 23:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru