22.09.2017, 07:14 [+3 UTC]
в нашей команде: 2 124 чел. | участники онлайн: 2 (рекорд: 21)

:: РЕГИСТРАЦИЯ

:: консультации

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.41 (25.02.2017)

Общие новости:
23.02.2017, 09:51

Форум:
21.09.2017, 12:28

Последний вопрос:
19.09.2017, 11:37

Последний ответ:
21.09.2017, 10:04

Последняя рассылка:
21.09.2017, 21:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
16.08.2009, 17:50 »
Admiral
Недавно в очередной раз убедился в том, что портал не зря называется Порталом профессионалов. Хочу поблагодарить экспертов Janpit, Зенченко Константин Николаевич и позже присоединившегося к нашему обсуждению эксперта PsySex за помощь в решении вопроса № 164385. Общаться и работать с этими экспертами было очень приятно и познавательно. Спасибо им ОГРОМНОЕ!

РАЗДЕЛ • С / С++

Создание программ на языках C и C++.

[администратор рассылки: Андрей Кузнецов aka Dr_Andrew (Старший модератор)]

Лучшие эксперты в этом разделе

Лысков Игорь Витальевич
Статус: Старший модератор
Рейтинг: 239
solowey
Статус: 6-й класс
Рейтинг: 83
Хватов Сергей
Статус: Академик
Рейтинг: 71

Перейти к консультации №:
 

Консультация онлайн # 64575
Раздел: • С / С++
Автор вопроса: Gang
Отправлена: 28.11.2006, 12:26
Поступило ответов: 2

Здравствуйте!
Помогите разобраться (пример из книжки)-
struct TNode {
int value;
TNode* pnext; //тут не ясно
TNode(int val): pnext(0), value(val){} // и тут
};
pnext - это просто указатель на структуру? и можно ли его объявить вне структуры?
последняя строка не ясна совсем...
(Разве на СИ так можно объявлять?)
Заранее спасибо )

Состояние: Консультация закрыта

Здравствуйте, Gang!
Это классический пример построения списка.
Указатель на структуру (как вообще на любой тип) конечно можно объявить вовне. Не уверен можно ли объявлять указатель на структуру ВНУТРИ нее в стандарте С, но в С++ - это один из ключевых моментов нового стандарта.
Последняя же строка - это inline (встроеный) конструктор - специальный метод-функция класса - который отвечает за дополнительные действия при создании каждого экземпляра этого класса, и вот этого точно нет в стандарте С.
: pnext(0), value(val) - это инициализация членов класса значениями, которые могут быть либо константами, либо передаваться в качестве параметров конструктора.

Итак, вывод RTFM в данном случае по стандарту языка


Консультировал: Tek
Дата отправки: 28.11.2006, 12:34

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Ответ # 128921 от Sergey A. Wedensky

Здравствуйте, Gang!

Это объявление структуры - узла связного списка.
int value - значение, хранимое узлом.
TNode* pnext - указатель на следующий элемент списка. Его смысл - каждый элемент хранит в себе указатель на следующий, таким образом список можно проходить только последовательно, зная первый элемент (или указатель на него).
TNode(int val): pnext(0), value(val){} - конструктор структуры, инициализируйщий член value значением своего единственного параметра val, и pnext нулем.


Консультировал: Sergey A. Wedensky
Дата отправки: 28.11.2006, 12:37

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 64575

Посетитель

ID: 24716

# 1

= общий = | 28.11.2006, 13:00 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

а подскажите , как ето реализовать на стандартном СИ, в плане конструктор. Я так понял, что указатель на структуру можно объявить в main() ?

 

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.14841 сек.

© 2001-2017, Портал RFPRO.RU, Россия
Авторское право: ООО "Мастер-Эксперт Про"
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.41 от 25.02.2017
Бесплатные консультации онлайн