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

Правильное подключение заголовочных файлов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как перевести строку в целочисленный массив http://www.cyberforum.ru/cpp-beginners/thread1238424.html
А как перевести строку в целочисельный массив? Проверьте здесь http://ideone.com/ /* package whatever; // don't place package name! */ import java.util.*; import java.lang.*; import java.io.*; /* Name of the class has to be "Main" only if the class is public. */
C++ Вернуть из функции значение; при этом прервать саму функцию Всех приветствую! Прощу прощения за глупый вопрос, но не знаю на него ответа. Требуется вернуть из функции значение при этом прервать саму функцию. Есть к примеру код (нигде не используется в проектах, написал для понимания вопроса): bool VarProb=Proba(7); bool Proba(int var) { for (int i=0; i<100; i++) { for (int j=0; j<100; j++) { http://www.cyberforum.ru/cpp-beginners/thread1238420.html
C++ Наибольший элемент матрицы в левом углу - объяснить код программы
Здравствуйте. У меня есть программа, но я не могу понять как она работает. Пожалуйста, объясните ее и, если можете, упростите... #include<iostream> #include<stdlib.h> using namespace std; int main() { int **matrix; // это указатель что ли? почему его здесь объявляют, а не в 16 строке? int width, height;
Можно ли с помощью UPnP открыть порт C++
можно ли в c++ открыть порт (UPnP) без сторонних библиотек, если да то как?
C++ Скопировать содержимое одного файла в любое место в другом файле http://www.cyberforum.ru/cpp-beginners/thread1238370.html
Мне надо скопировать содержимое одного файла в любое место в другом файле. Пример: Файл А: 12345 54321 22222 Файл Б:
C++ Вставка в map и ошибка "Отсутствуют экземпляры конструктора" Подчёркивает map в 3тей строчке и пишет ошибку 1 IntelliSense: отсутствуют экземпляры конструктора "std::pair<_Ty1, _Ty2>::pair ", соответствующие списку аргументов типы аргументов: (std::wstring) c:\Users\Admin\Desktop\CPP\CPP-Materials\Map\Map\ConsoleApplication3\ConsoleApplication3.cpp 16 17 ConsoleApplication3 чё не так делаю непойму map < wstring, less<wstring> >... подробнее

Показать сообщение отдельно
Убежденный
Системный программист
Эксперт С++
15512 / 7010 / 1108
Регистрация: 02.05.2013
Сообщений: 11,442
Завершенные тесты: 1
05.08.2014, 10:08
Никакого месива здесь нет. Заголовки подключаются только туда, где они реально нужны.
Простейший пример привел автор: в two.h описан интерфейс класса, а two.cpp включает
<iostream> и все остальное, что необходимо для реализации. Клиенты класса вообще
"не в курсе", что используется в файле реализации, и это хорошо - нет лишних
зависимостей, а главное, на мой взгляд - снижение времени компиляции, причем оно
может быть существенным. Из личного опыта: проект собирался где-то 20 минут, но
после редизайна инклудов это время сократилось примерно до 4-6 минут. Впрочем,
если ты используешь stdafx.h и прекомпилированные заголовки, тут другая картина.

Что касается already defined и перекрестных/повторных включений - я не понял.
Есть же pragma once. От того, что один и тот же заголовок неявно включен в два
или более файлов внутри одной единицы трансляции, ошибок не будет.
Ну или приведи пример, при котором ошибки такого плана могут возникать.

P.S.
Кстати, раньше я всегда делал один большой заголовок и по мере написания проекта
включал в него все, что требуется. Ни к чему хорошему, кроме увеличения времени
компиляции и постоянных пересборках при малейших изменениях в нем (т.к. зависимости
лезут во все файлы) это не привело.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru