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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
FeliveNdrell
0 / 0 / 0
Регистрация: 19.02.2009
Сообщений: 5
#1

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

19.02.2009, 21:01. Просмотров 638. Ответов 2
Метки нет (Все метки)

Начал изучать С++ и столкнулся с такой проблемой:
в книгах пишут, что при использовании класса 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++
народ, я хочу чтобы в моём файле .cpp, после инклюдов в алфавитном порядке и до main(), шли различные функции в алфавитном порядке.. но при...

Реализация отношения классов типа двунаправленная ассоциация, UML, порядок объявления классов, неполный класс - C++
Доброго времени суток! Осваивая UML, решил реализовать отношение двунаправленной ассоциации по диаграмме: У одного владельца...

объявления - C++
в чем отличие такого определения float var = 1.f; от такого float var = 1.0f;

Объявления классов - C++
Класс может быть объявлен так: class MyClass { ... }; а может быть объявлен и так typedef class

Ошибки объявления - C++
Stack.h #pragma once class Stack { public: void push (StackPtr *,int); int pop(StackPtr*); int isEmpty(StackPtr);

Объявления массива. - C++
Как увеличить количество переменных в массиве?

Правила объявления инициализации - C++
Напишите основные - самые главные правила обьявления инициализации.

Различие объявления строк - C++
Изучая указатели, дошел до использования в строках. Все было понятно, за исключением нескольких фрагментов кода: Целый код для...

Синтакасис объявления функций - C++
... double func(double x, double a); int main(int argc, char *argv) ... double func - вещественный тип данных, если не ошибаюсь....

Место объявления функции - C++
Не могу сообразить, как определить такой конструктор в структуре(классе) struct Sales_data { string bookNo; unsigned units_sold =...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,354
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     Порядок объявления библиотек?
Ответ Создать тему
Опции темы

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