Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C / C++

Выпуск № 030
от 28.06.2002, 20:20

Администратор:
Имя: Коробов Н.А.
URL: Информационный ресурс
ICQ: 365124
Украина, Днепропетровск
О рассылке:
Задано вопросов: 98
Отправлено ответов: 167
Активность: 170.4 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе]


 Список экспертов, ответы которых опубликованы в данном выпуске

kvINT
Статус: Опытный
Общий рейтинг: 114.45
[Подробней >>]
vitya
Статус: Опытный
Общий рейтинг: 117.23
[Подробней >>]
Артём Шегеда
Статус: Профессиональный
Общий рейтинг: 125.44
URL: Пристанище неодинокого программиста
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 87. Доброго времени суток эксперты, как объявить структуру/класс, в общем свой тип данных чтобы все поля... (ответов: 2)
Вопрос № 88. Здравствуйте, уважаемые эксперты. У меня к Вам несколько вопросов. 1) Есть ли какой генератор окон и... (ответов: 1)

Вопросов: 2, ответов: 3


 Вопрос № 87

Доброго времени суток эксперты, как объявить структуру/класс, в общем свой тип данных чтобы все поля последовательно распологались (типа массив), а то все в том же учебнике пишут что при выполнении проги они не обязательно последовательно распологаются, а мне надо чтоб обязательно.
И еще вопрос, в прошлом примере был шаблон:
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" вроде солидная книжка хотя в том примере была туева хуча ошибок незнаю это специально так сделали для закрепления материала иди в редакции просто проперлись, но обучаюущую функцию это выполняет ;)



Вопрос отправлен: 25.06.2002, 07:47
Отправитель: Serzhant (Serzhant_mail@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает kvINT

Доброе время суток, 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) Как можно в Си реализовать бегущую строку, и если возможно то пожалуйста примерчик?
За ранее благодарен.



Вопрос отправлен: 25.06.2002, 20:17
Отправитель: Владимир

[Следующий вопрос >>] [Список вопросов]

Отвечает Артём Шегеда

Приветствую Вас, Владимир!
http://prog.agava.ru/cgi-bin/dc/load.pl?/arch/c/c-cpptv.zip - дока по TurboVision для C++ (325 КБайт)
http://links.newmail.ru/ - ну просто огромный список всего с этим связанного!

Ответ отправлен: 26.06.2002, 12:18
Отправитель: Артём Шегеда



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (48)
C / C++ (30)
Perl (9)
Delphi (17)
Pascal (26)
Basic / VBA (15)
Java / JavaScript (6)
PHP (7)
MySQL / MSSQL (10)
Пользователю
Windows 95/98/Me (46)
Windows NT/2000/XP (34)
"Железо" (42)
Поиск информации (21)
Администратору
Windows NT/2000/XP (16)
Linux / Unix (11)
Юристу
Гражданское право (9)
Семейное право (4)
Трудовое право (6)
КоАП (3)

Отправить вопрос всем экспертам выбранной рассылки.




be number one Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное