Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.53/40: Рейтинг темы: голосов - 40, средняя оценка - 4.53
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
1

В чём разница между заголовками <c***> и <***.h>?

16.10.2012, 03:10. Показов 7482. Ответов 24
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пробовал несколько несложных примеров применения обоих вариантов. Результат выполнения идентичен. Компилятор никаких предупреждений не выдавал. Так в чём-же собственно разница? Ну не даром ведь переписали для С++ стандартные библиотеки С.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.10.2012, 03:10
Ответы с готовыми решениями:

В чем разница между \n и \r
Здравствуйте. Собственно вопрос в название темы. Объясните, в чем разница между /n и /r?

В чем разница между . и ,
Вот столкнулся с таким вопросом вчем разница между . и , Привер &lt;? echo...

В чем разница между X x; и X x()?
Корректный ли этот ответ?

В чём разница между .each() и $.each()
читаю про jquery и там есть .each() и $.each() в чем разница? Где можно прочитать про тонкости...

24
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
16.10.2012, 04:29 2
фактически ничем
<***> просто делает больший акцент на том, что хедер может не быть файлом (в отличии от *.h, который явно обозначает расширение)
1
Заблокирован
16.10.2012, 04:43 3
alex_x_x, имеется ввиду libc'шные cname vs name.h.
xtorne21st, а открыть почитать никак?
0
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
16.10.2012, 06:02 4
xtorne21st, разницы в них нет для нас. Однако, .h-файлы сохранились от C, с..-файлы - это C++ хедеры. Поэтому, если пишешь на C++, пиши ctime, иначе time.h.

p.s Мог напутать с тем, что ctime наоборот у C, а .....h у C++, но это не суть важно, ибо основная информация предоставлена. Сам когда-то заинтересовался.
1
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
16.10.2012, 11:33 5
Разница в том, что, *.h в будущем скорее всего похерят для Си++, а сейчас они поддерживаются для совместимости
2
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
16.10.2012, 11:48 6
Цитата Сообщение от nexen Посмотреть сообщение
пиши ctime, иначе time.h.
ctime пишется потому, что C означает СИ, т.е. библиотека досталась в наследство от языка Си
1
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
16.10.2012, 11:56 7
c* хедеры оборачивают содержимое *.h в std
2
Заблокирован
16.10.2012, 12:04 8
Цитата Сообщение от Jupiter Посмотреть сообщение
c* хедеры оборачивают содержимое *.h в std
bingo!
0
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
16.10.2012, 13:28  [ТС] 9
Цитата Сообщение от alkagolik Посмотреть сообщение
xtorne21st, а открыть почитать никак?
Что открыть и где почитать?
0
Делаю внезапно и красиво
Эксперт С++
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
16.10.2012, 13:37 10
Цитата Сообщение от alex_x_x Посмотреть сообщение
что хедер может не быть файлом
Чего-чего?
0
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
16.10.2012, 13:45  [ТС] 11
Цитата Сообщение от Deviaphan Посмотреть сообщение
Чего-чего?
Как я понял, человек имеет ввиду что в случаи ***.h акцент делается на том, что это именно файл С, а в случаи с*** это хедер уже языка С++ (без использования слова файл)
0
9 / 9 / 3
Регистрация: 11.10.2012
Сообщений: 118
16.10.2012, 13:48 12
Цитата Сообщение от xtorne21st Посмотреть сообщение
Как я понял, человек имеет ввиду что в случаи ***.h акцент делается на том, что это именно файл С, а в случаи с*** это хедер уже языка С++ (без использования слова файл)
Да.

я так тебе скажу что не нужно тебе маятся этим, потому что ты будешь использовать у себя в программах и <c***> и <***.h>?
0
Делаю внезапно и красиво
Эксперт С++
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
16.10.2012, 13:51 13
Цитата Сообщение от xtorne21st Посмотреть сообщение
без использования слова файл
Поясню. Любой хэдэр является файлом, но не всякий файл является хэдэром. Расширение файла это просто несколько букв после точки, которые ничего не значат.
1
Kastaneda
16.10.2012, 14:04
  #14

Не по теме:

Цитата Сообщение от Deviaphan Посмотреть сообщение
Расширение файла это просто несколько букв после точки, которые ничего не значат
скажи это DOS'у! :D

0
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
16.10.2012, 14:05 15
Цитата Сообщение от Deviaphan Посмотреть сообщение
Поясню. Любой хэдэр является файлом, но не всякий файл является хэдэром. Расширение файла это просто несколько букв после точки, которые ничего не значат.
nope
по стандарту системный хедер может не быть файлом - именно так
его включение может приводить к какой-то реакции компилятора, избегаю включения текста какого-либо файла
0
Делаю внезапно и красиво
Эксперт С++
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
16.10.2012, 14:11 16
Цитата Сообщение от alex_x_x Посмотреть сообщение
по стандарту системный хедер может не быть файлом - именно так

Приведи пример такого хэдэра, пжалста.


Цитата Сообщение от Kastaneda Посмотреть сообщение
скажи это DOS'у
Это действительно и для ДОСа. Просто с расширением было проще определять тип, не парся заголовок файла.)
0
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
16.10.2012, 14:16  [ТС] 17
Цитата Сообщение от alex_x_x Посмотреть сообщение
nope
по стандарту системный хедер может не быть файлом - именно так
его включение может приводить к какой-то реакции компилятора, избегаю включения текста какого-либо файла
Я думал, что к какой то реакции компилятора или препроцессора приводит директивы препроцессора, а включение заголовка расширяет область видимости. Что-то я совсем запутался...
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
16.10.2012, 14:22 18
Цитата Сообщение от xtorne21st Посмотреть сообщение
а включение заголовка расширяет область видимости
Для чего нужен define?
1
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
16.10.2012, 14:57  [ТС] 19
Чтобы окончательно разобраться по этой теме нужно (на мой взгляд) хорошо понимать как устроена реализация программы. Лично для меня до сих пор не понятно в чём разница между компоновщиком и препроцессором? Ведь по сути они выполняют одно и тоже?
Допустим если код:
C++
1
2
3
4
5
6
#include <iostream>
 
int main()
{
std::cout << "Hello World";
}
Можете, если вас не затруднит, поэтапно изложить процесс реализации этой программы.
0
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
16.10.2012, 15:32 20
Цитата Сообщение от Deviaphan Посмотреть сообщение
Приведи пример такого хэдэра, пжалста.
пример не приведу, но вот цитата из стандарта - прям щас открыл

17.4.1.2 Headers
1 The elements of the C++ Standard Library are declared or defined (as appropriate) in a header (158)
(158) A header is not necessarily a source file, nor are the sequences delimited by < and > in header names necessarily valid source file names (16.2).
воот помню перетирали Вопросы по теории
0
16.10.2012, 15:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.10.2012, 15:32
Помогаю со студенческими работами здесь

В чем разница между С и С++
Возник вопрос в чем жи разница между С и С++ кроме того, что в С++ есть классы а в С их нету ?

В чем разница между [] и * ?
Думал, что ни в чем, но когда попытался сделать так: (в файле 1) char lc; в файле 2: extern...

В чем разница между ^p и ^13
Заменой сделал строку с ^p и строку с ^13 с Подстановочными знаками. Если поместить курсор на...

В чем разница между С++ и С?
Чем отличается С и С++, кроме того что С++ есть ООП?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru