![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| kaa |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 817 Регистрация: 5.11.2005 Репутация: нет Всего: 2 |
В общем есть код, написан по новому стандарту С++
Так при компиляции выдаётся ошибка
НО! Если написать так:
то всё работает. Почему? И вообще, есть-ли смысл следовать новому стандарту включения заголовочных файлов? |
||||||
|
|||||||
| vinter |
|
||||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
конечно следует, заголовочные файлы перекочевавшие из С следует писать спрефиксом с, т.е
|
||||
|
|||||
| kaa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 817 Регистрация: 5.11.2005 Репутация: нет Всего: 2 |
vinter, ЭХ ты! А как я узнаю какие из С а какие нет? Где это можно посмотреть? Я вот токаща узнал что time.h из С пришол
|
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
kaa, ну да, нужно просто знать откуда какая библиотека
|
|||
|
||||
| Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 3 Всего: 73 |
А это еще зачем в данной программулине? Заголовки ctime или time.h не должны изменить поведение программы. Кстати, содержимое ctime gcc:
Вот вам и разница -------------------- Теперь при чем :P |
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
оно много где такое, просто по стандарту .h не ставится.. |
|||
|
||||
| Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 3 Всего: 73 |
Не обязательно. Например, MSVC7 при данном инклюде, помнится, делает резрешение нэймспейсов. -------------------- Теперь при чем :P |
|||
|
||||
| JackYF |
|
||||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
kaa,
Насчет библиотек нового стандарта: Если библиотека называлась stdlib.h, в новом стандарте cstdlib Если time.h, то ctime... То есть убирается .h и добавляется впереди символ c. Так со всеми библиотеками, которые пришли из языка C и старого С++. А вообще смысл тебе подключать новые библиотеки, если сразу делаешь
Ты б уже ставил
P.S Вообще не рекомендуется вносить в глобальную область все имена из пространства std... |
||||
|
|||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
в смысле ?? а как одно к другому относится?? |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
В прямом. Оберточные файлы <cstdlib>, <csdtio>, <ctime> и иже с ними составляют собой простую обертку к тому, что предоставляют эти библиотеки.
Обертку в пространство имен std. Так вот, при объявлении
Вся польза от этих оберток летит компилятору под ... . Вот такая вот зависимость... Добавлено @ 18:31 Эти библиотеки - в плане старостандартовские. |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 3 Всего: 73 |
Зависит от конкретной реализации стандартной библиотеки. По стандарту не должны. -------------------- Теперь при чем :P |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Не знаю насчет puts, а вот time, memset, memcpy, itoa, atoi и иже с ними - точно.
А вообще - какой у тебя компилятор? и сборка стандартной библиотеки? Добавлено @ 19:24 Ignat, разве? Тогда, возможно, я не прав... Добавлено @ 19:32 Но тогда вообще странно, что они тогда делают... |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |