Форум программистов, компьютерный форум CyberForum.ru

Порядок объявления библиотек? - C++

Восстановить пароль Регистрация
 
FeliveNdrell
0 / 0 / 0
Регистрация: 19.02.2009
Сообщений: 5
19.02.2009, 21:01     Порядок объявления библиотек? #1
Начал изучать С++ и столкнулся с такой проблемой:
в книгах пишут, что при использовании класса string его надо явно объявлять, но у меня все работает и без объявления

Залез на cplusplus.com чтобы референсы покурить, там в примерах тоже явно объявляется. т.е.
Код
[CPP]
#include <iostream>
#include <string> // У меня и без этого все компилится и работает
...
[/CPP]
и это не только с string щас вот дошел до чека assert и опять все работает без объявления %)

зы: пишу в codelite компилю в gnu g++
ззы: поиск выдает кучу тем просмотреть все просто нет времени, честно. Если обсуждалось ткните носом =]
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2009, 21:01     Порядок объявления библиотек?
Посмотрите здесь:

C++ Что за объявления переменных?
C++ объявления
C++ Объявления массива.
C++ Объявления классов
C++ double вне объявления
Ошибки объявления C++
Правила объявления инициализации C++
Различие объявления строк C++
Способы объявления шаблона C++
C++ Вылетает из-за объявления указателя
Место объявления функции C++
Порядок объявления функций C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,315
19.02.2009, 21:53     Порядок объявления библиотек? #2
Дело в том, что многие заголовки сами содержат директиву #include <другой_заголовок>... и так далее; поэтому, многие заголовки включаются "неявно" и могут приводить к такому поведению.

Но, в общем случае, это все сильно зависит от компилятора, его версии и заголовков, идущих в комплекте. Поэтому, полагаться на "неявное" включение нельзя и необходимо всегда явно включать нужный заголовок. Это гарантирует переносимость кода на другие компиляторы/архитектуры. Можно почитать Мейерса, Effective STL, там про этот фокус написано и даны рекомендации по разработке переносимого кода.
FeliveNdrell
0 / 0 / 0
Регистрация: 19.02.2009
Сообщений: 5
20.02.2009, 18:22  [ТС]     Порядок объявления библиотек? #3
Ок. Спасибо. По Поводу книги если найду обязательно посмотрю.
Yandex
Объявления
20.02.2009, 18:22     Порядок объявления библиотек?
Ответ Создать тему
Опции темы

Текущее время: 12:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru