Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
15 / 13 / 4
Регистрация: 13.05.2021
Сообщений: 158

В чем разница между #include <iostream> и #include "iostream"

01.12.2022, 20:04. Показов 1835. Ответов 3
Метки c++ (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста, в чем разница между #include <iostream> и #include "iostream"? И как мне сделать чтобы я могла делать #include <myfile.hpp>, а не только #include "myfile.hpp"?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.12.2022, 20:04
Ответы с готовыми решениями:

#include<iostream>// подключение библиотек #include <conio.h> #include <climits>
помогите для этой программы сделать блок-схему. Пожалуйста #include&lt;iostream&gt;// подключение библиотек #include &lt;conio.h&gt; ...

#include <iostream>
Объясните для чего применяется эта директива.

#include <iostream>
Что конкретно делают и чем отличаются ios::sync_with_stdio(0); ios_base::sync_with_stdio(0); iostream::sync_with_stdio(0); ...

3
Just Do It!
 Аватар для XLAT
4211 / 2670 / 655
Регистрация: 23.09.2014
Сообщений: 9,083
Записей в блоге: 3
01.12.2022, 20:17
Цитата Сообщение от Alina Zolotova Посмотреть сообщение
в чем разница между #include <iostream> и #include "iostream"
#include <filename> Препроцессор выполняет поиск способом, определяемым реализацией,
обычно в каталогах, предварительно обозначенных компилятором/IDE. Этот метод обычно
используется для включения файлов заголовков для стандартной библиотеки C и других файлов
заголовков, связанных с целевой платформой.

#include "filename" Препроцессор также выполняет поиск способом, определяемым реализацией,
но обычно используемым для включения файлов заголовков, определенных программистом, и обычно
включает тот же каталог, что и файл, содержащий директиву (если не указан абсолютный путь).
1
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13179 / 6815 / 1821
Регистрация: 18.10.2014
Сообщений: 17,243
01.12.2022, 20:23
Цитата Сообщение от Alina Zolotova Посмотреть сообщение
в чем разница между #include <iostream> и #include "iostream"?
В треугольных скобках включаются не файлы, а заголовки. Заголовки предоставляются реализацией и формально не являются файлами вообще.

В кавычках включаются обычные файлы.

По этой причине не моет быть никакого #include "iostream". Правильно только #include <iostream>.

Цитата Сообщение от Alina Zolotova Посмотреть сообщение
И как мне сделать чтобы я могла делать #include <myfile.hpp>, а не только #include "myfile.hpp"?
Никак. Ваши файлы включаются именно в кавычках, потому что они файлы. Включение в треугольных скобках - это не для вас.
1
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
01.12.2022, 23:38
Лучший ответ Сообщение было отмечено Alina Zolotova как решение

Решение

Цитата Сообщение от Alina Zolotova Посмотреть сообщение
в чем разница между #include <iostream> и #include "iostream"?
в угловых скобках подключаются заголовки.
а в кавычках - файлы.
чем заголовок отличается от файла - является implementation-defined,
что означает, что нужно смотреть документацию к конкретному компилятору.
в разных реализациях могут быть свои правила.

но для того, что бы мир тебе казался проще,
ты можешь смело считать, что "заголовок" и "файл" - это одно и тоже.
а все различие сводится к алгоритмам поиска заголовков или файлов.

эти алгоритмы так же являются implementation-defined,
с такой оговоркой:
- если поиск #include "file" потерпит неудачу,
тогда будет задействован поиск #include <file>

Цитата Сообщение от Alina Zolotova Посмотреть сообщение
И как мне сделать чтобы я могла делать #include <myfile.hpp>, а не только #include "myfile.hpp"?
хотя, формально, правила поиска являются implementation-defined,
на практике у топовых компиляторов одни и те же правила,
а именно:
- нужно указать компилятору путь к каталогу,
где лежат твои файлы.

например, для компиляторов Visual studio это делается так:
CL /I \include /I\my\include main.c

а для gcc так:
-std=c++17 -O2 -g3 -o a.out source_file.cpp -I/usr/local/include/boost_1_6_0/ -lboost_system -lboost_filesystem -lstdc++fs
отсюда принцип работы:
приватные заголовки подключаем через кавычки

приватные заголовки - это заголовочные файлы,
которые нужны только твоим файлам.cpp, и больше никому.
такие файлы обычно располагают рядом с файлами.cpp,
которые их используют.


публичные заголовки подключаем через угловые скобки

публичные заголовки потому и публичны,
что располагаются они в каталогах библиотек,
и нет никакого смысла искать их среди твоих файлов.cpp.



Цитата Сообщение от TheCalligrapher Посмотреть сообщение
По этой причине не моет быть никакого #include "iostream". Правильно только #include <iostream>.
это - бред

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Включение в треугольных скобках - это не для вас.
вот например, ребята из boost решили, что угловые скобки - это для них.

или вот разработчики самой популярной библиотеки для работы с json тоже решили,
что угловые сбоки - это для них.

ну или вот: любимчик игроделов sfml,
тоже решил, что угловые скобки - то, что доктор прописал.

вот и Alina Zolotova тоже сама для себя может решить,
как ей быть с угловыми скобками.
без вот этих твоих предрассудков.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.12.2022, 23:38
Помогаю со студенческими работами здесь

Линкер ругается | #include <iostream>
При подключении заголовочного файла: #include &lt;iostream&gt; получаю ошибки линкера: main.cpp:(.text+0x65): undefined reference to...

#include <iostream> Очень Подробно =)
Помогите пожалуйста, добрые люди :cry: Вот такая вот проблема .... искал инфу повсюду, но к сожалению она минимальна. Что такое...

Can't open include file 'iostream.h'
Можно помощи попросить у меня ошибка: --------------------Configuration: d1 - Win32 Debug-------------------- Compiling... d2.cpp ...

Ошибка при добавлении #include <iostream.h>
Почему при добавлении строчки #include &lt;iostream.h&gt; выдает ошибку fatal error C1083: Cannot open include file: 'iostream.h': No such...

Unable to open include file 'iostream'
Нажимаю компилировать и выходит ошибка, Помогите пожалуйста что за ошибка? Error 1.CPP 1: Unable to open include file 'iostream' Error...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 27.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 27.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 27.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 25.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 25.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru