![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 129
|
![]()
При решении упражнений из книги "Бьярн Страуструп - Язык программирования C++" зашёл в тупик. Я понимаю описание как указание имя переменной и её типа, но при этом
Код:
Мой вариант: Код:
|
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 19.12.2008
Сообщений: 38
|
![]()
extern - указывает на то, что переменная определена где-то в другом месте и является внешней
*.h extern int num; *.cpp int num = 0; так переменная определяется в другом месте и является внешней т.е. она будет видна в тех модулях куда будет присоединен *.h c ее описанием. Если же рассуждать в категориях описание/определение То это… Код:
Box box1(); - это определение; И в таком же духе полагаю и далее… char – описание ( некоторого общего понятия ) char c – определение (конкретного случая )
"...в самом начале было слово.." т.е. 16-битное битовое поле.
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 129
|
![]()
Это всё понятно, но всё-же в случае с "char", как написать описание отдельно от определения? Если это не возможно, почему Страуструп задаёт такие упражнения?
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 19.12.2008
Сообщений: 38
|
![]()
Ну почему же вот к примеру…
*.h int exampleFunction( int , char* ) – вот тут мне кажется оно имеет место быть (описание без определения) *.cpp int exampleFunction( int n, char* str) { //Ту-Ду Самфинг)) }
"...в самом начале было слово.." т.е. 16-битное битовое поле.
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 129
|
![]()
Я считаю что описания это:
Код:
Вопрос! Существует ли отдельно описание и определение для стандартных типов? |
![]() |
![]() |
![]() |
#6 |
Great Code Monkey
Форумчанин
Регистрация: 09.08.2007
Сообщений: 533
|
![]() |
![]() |
![]() |
![]() |
#7 | |||
Пользователь
Регистрация: 19.12.2008
Сообщений: 38
|
![]() Цитата:
Код:
Цитата:
Цитата:
"...в самом начале было слово.." т.е. 16-битное битовое поле.
Последний раз редактировалось c++ learner; 29.11.2010 в 17:03. |
|||
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 129
|
![]()
Какое-же решение у упражнения из Срауструпа.
"Для каждого описания сделать следующее: если описание не является определением, то написать соответствующее определение; если же описание является определением, написать для него описание, которое не являлось бы одновременно и определением." Код:
|
![]() |
![]() |
![]() |
#9 | ||
Great Code Monkey
Форумчанин
Регистрация: 09.08.2007
Сообщений: 533
|
![]() Цитата:
Код:
Цитата:
PS Думаю, в эпической битве между вами и стандартом победит стандарт) Код:
Посмотрите пример из стандарта и сделайте по аналогии. |
||
![]() |
![]() |
![]() |
#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 |