Доброго времени суток эксперты, как объявить структуру/класс, в общем свой тип данных чтобы все поля последовательно распологались (типа массив), а то все в том же учебнике пишут что при выполнении проги они не обязательно последовательно распологаются, а мне надо чтоб обязательно. И еще вопрос, в прошлом примере был шаблон: template int List::isEmpty() const {return firstPtr ==0;} как работает это "return firstPtr == 0;"? IMHO Функция проверяет пуст список или нет, при создании объекта конструктор инициализирует firstPtr=0 т.б. false, вряд ли элемент списка будет распологаться по нулевому смещению в памяти т.е. можно считать что если firstPtr не 0 тогда true т.е. грамотнее будет return !firstPtr; (можно так вообще?), а что здесь автор наумничал я понять немогу хотя это кажется еще и работает 8[ ]. p.s.Витьку:
учебник "Как программировать на C++, Х.М. Дейтл и П.Дж.Дейтл, 1998" вроде солидная книжка хотя в том примере была туева хуча ошибок незнаю это специально так сделали для закрепления материала иди в редакции просто проперлись, но обучаюущую функцию это выполняет ;)
Доброе время суток, Serzhant! firstPtr - это указатель. Он может быть либо равен какому-то адресу, либо 0. Ноль - значит указатель не указывает ни на что(пустой), смещение здесь ни при чем. Он не только инициализируется конструктором, ему присваивается 0 также и в программе, когда удаляется последний элемент списка. Синтаксис return firstPtr==0 - вполне правильный. Но можно наверно и по твоему, когда откомпилишь - попробуй. Ответ отправлен: 25.06.2002, 10:24 Отправитель: kvINT Отвечает vitya
Приветствую Вас, Serzhant! Да, странно...:)) Можно проверять и !firstPtr, но NULL == firstPtr, грамотнее всего, то есть если указатель на первый элемент списка NULL, то список пуст. А для первого вопроса, то там система делает alignment по 4, 8, 16 байтам, т.е. у тебя может быть структура которая состоит из 2 char-ов, а занимать в памяти она будет 16 байтов, все это делается для ускорения работы. Итак, в начале файла напиши #pragma pack(1) и тогда ты достигнешь желаемого результата. Ответ отправлен: 25.06.2002, 08:35 Отправитель: vitya
Вопрос № 88
Здравствуйте, уважаемые эксперты. У меня к Вам несколько вопросов. 1) Есть ли какой генератор окон и менюшек для Си под ДОС и если есть где его можно взять? 2) Как можно в Си реализовать бегущую строку, и если возможно то пожалуйста примерчик? За ранее благодарен.
Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook"
и "Microsoft Outlook Express". В программе The Bat!
подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте,
что в некоторых браузерах могут стоять запреты на открытие других
окон, а также "чрезмерное" кэширование данных,
при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet
Explorer 5.0+ или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.