|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.11.2010, 14:25 | #1 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 129
|
Описание и определение по Страуструпу.
При решении упражнений из книги "Бьярн Страуструп - Язык программирования C++" зашёл в тупик. Я понимаю описание как указание имя переменной и её типа, но при этом
Код:
Мой вариант: Код:
|
29.11.2010, 14:43 | #2 |
Пользователь
Регистрация: 19.12.2008
Сообщений: 38
|
extern - указывает на то, что переменная определена где-то в другом месте и является внешней
*.h extern int num; *.cpp int num = 0; так переменная определяется в другом месте и является внешней т.е. она будет видна в тех модулях куда будет присоединен *.h c ее описанием. Если же рассуждать в категориях описание/определение То это… Код:
Box box1(); - это определение; И в таком же духе полагаю и далее… char – описание ( некоторого общего понятия ) char c – определение (конкретного случая )
"...в самом начале было слово.." т.е. 16-битное битовое поле.
|
29.11.2010, 14:51 | #3 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 129
|
Это всё понятно, но всё-же в случае с "char", как написать описание отдельно от определения? Если это не возможно, почему Страуструп задаёт такие упражнения?
|
29.11.2010, 14:57 | #4 |
Пользователь
Регистрация: 19.12.2008
Сообщений: 38
|
Ну почему же вот к примеру…
*.h int exampleFunction( int , char* ) – вот тут мне кажется оно имеет место быть (описание без определения) *.cpp int exampleFunction( int n, char* str) { //Ту-Ду Самфинг)) }
"...в самом начале было слово.." т.е. 16-битное битовое поле.
|
29.11.2010, 15:17 | #5 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 129
|
Я считаю что описания это:
Код:
Вопрос! Существует ли отдельно описание и определение для стандартных типов? |
29.11.2010, 16:13 | #6 |
Great Code Monkey
Форумчанин
Регистрация: 09.08.2007
Сообщений: 533
|
|
29.11.2010, 16:48 | #7 | |||
Пользователь
Регистрация: 19.12.2008
Сообщений: 38
|
Цитата:
Код:
Цитата:
Цитата:
"...в самом начале было слово.." т.е. 16-битное битовое поле.
Последний раз редактировалось c++ learner; 29.11.2010 в 17:03. |
|||
29.11.2010, 18:14 | #8 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 129
|
Какое-же решение у упражнения из Срауструпа.
"Для каждого описания сделать следующее: если описание не является определением, то написать соответствующее определение; если же описание является определением, написать для него описание, которое не являлось бы одновременно и определением." Код:
|
29.11.2010, 18:34 | #9 | ||
Great Code Monkey
Форумчанин
Регистрация: 09.08.2007
Сообщений: 533
|
Цитата:
Код:
Цитата:
PS Думаю, в эпической битве между вами и стандартом победит стандарт) Код:
Посмотрите пример из стандарта и сделайте по аналогии. |
||
29.11.2010, 19:52 | #10 | ||
Пользователь
Регистрация: 19.12.2008
Сообщений: 38
|
still_alive
Цитата:
Код:
Цитата:
extern – модификатор класса памяти. Выше же тоже самое привел, и потом скажите вам сильно нужен extern int n без где-то реализованного данного int n (= 0)?, я клоню к тому, что сам по себе он не имеет большого смыла, extern int n - частный описатель (n это не тип). В то время как допустим на примере int; Код:
"...в самом начале было слово.." т.е. 16-битное битовое поле.
|
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Описание задачи | Dolgan | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 26.11.2010 15:22 |
описание класса | SvetaLee | Помощь студентам | 1 | 30.10.2010 23:27 |
Описание функции | A_Orlov | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 14.06.2010 14:48 |
Описание к программе | May7768 | Помощь студентам | 0 | 12.05.2010 17:52 |
Описание процедуры | phantom4eg | Помощь студентам | 6 | 17.03.2009 18:55 |