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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
#1

include guard - C++

21.08.2012, 21:32. Просмотров 1373. Ответов 4
Метки нет (Все метки)

Объясните пожалуйста попонятнее как использовать include guard. Много всего пересмотрел а понять не могу. Как мне Одно и тоже подключение к файлу использовать несколько раз в разных файлах?

Если я просто и в одном и в другом файле прописываю include... Мне выдают ошибку, что эта функция уже имеет текст реализации
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2012, 21:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос include guard (C++):

Работа с файлами в C# с исп. библиотек #include <stdio.h> #include <stdlib.h> #include <math.h> #include <io.h> - C++
В типизированном файле записаны названия городов и их численность. Увеличить численность каждого города на 5% (Количество жителей всегда...

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

Чем отличается #include <cstring>, #include <string> и #include <string.h>? - C++
Доброго времени суток :) Пишу свой класс и мне для нужны функции для работы со строками. Когда подключаю #include &lt;string&gt; все что мне...

ошибка в лабе не находит #include<iomanip.h> #include<conio.h> - C++
Само задание: Услуги телефонной сети оплачиваются по следующему правилу: за разговоры до A минут в месяц-C руб. а разговоры сверх...

Guard для мьютекса - C++
Собственно нужно написать гвард для мьютекса. Если я правильно понимаю, в конструкторе нужно принять ссылку на мьютекс и...

Какая разница между #include<> и #include""? - C++
Позволите спросить несколько вопросов: 1)Какая разница между #include&lt;&gt; и #include&quot;&quot; 2)Если нужно значение объекта и я не собираюсь его...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DU
1483 / 1059 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
21.08.2012, 21:58 #2
по поводу стражей квлючения на вики вроде коротко и понятно написано. что именно непонятно?
http://ru.wikipedia.org/wiki/Include_guard

по поводу:
Если я просто и в одном и в другом файле прописываю include... Мне выдают ошибку, что эта функция уже имеет текст реализации
Тут похоже реализация функции в h файле. Чтобы не было таких ошибок, функция должна быть инлайновой:
C++
1
2
3
4
5
// some h file
 
inline void SomeFunction()
{
}
добавлю. шаблонные функции инлайновые по умолчанию. методы, реализованные при декларации класса - тоже. в этих случаях такой проблемы нет.
но если реализация метода вынесена за определение класса, то для него тоже нужно инлайн проставлять. иначе такая же проблема будет.
Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
21.08.2012, 22:10  [ТС] #3
Цитата Сообщение от DU Посмотреть сообщение
по поводу стражей квлючения на вики вроде коротко и понятно написано. что именно непонятно?
http://ru.wikipedia.org/wiki/Include_guard

по поводу:

Тут похоже реализация функции в h файле. Чтобы не было таких ошибок, функция должна быть инлайновой:
C++
1
2
3
4
5
// some h file
 
inline void SomeFunction()
{
}
добавлю. шаблонные функции инлайновые по умолчанию. методы, реализованные при декларации класса - тоже. в этих случаях такой проблемы нет.
но если реализация метода вынесена за определение класса, то для него тоже нужно инлайн проставлять. иначе такая же проблема будет.


ВОТ ТУТ ВОЗНИКАЕТ ОШИБКА

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Файл file.h
void fun1() {
 
}
 
 
// Файл one
#include "file.h"
 
void fun2() {
fun1();
}
 
 
// Файл two
#include "file.h"
 
void fun3() {
fun1();
}
DU
1483 / 1059 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
21.08.2012, 22:20 #4
читайте внимательно. я написал про реализации функций в h файле и про то, что они должны быть инлайновыми.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.08.2012, 23:06 #5
Прототип в .h файл, реализацию в любой .cpp файл, и будет вам счастье.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.08.2012, 23:06
Привет! Вот еще темы с ответами:

#include в C++ - C++
Здраствуйте, скажите пожалуйсто какие #include являются основными, я открыл папку include у себя в компелятори, там кучи файлов, все...

Include - C++
Вот давно хотел разобраться. Вот допустим есть у меня 6 файлов A.h A.cpp ,B.h B.cpp ,C.h C.cpp , в каждом h файле описан класс , а в cpp...

INCLUDE - C++
Подскажите что обозначаеть include . #include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;stdlib.h&gt; #include &lt;crypt.h&gt; #include...

#include - C++
не понимаю какие &lt;stdio.h&gt;,&lt;time.h&gt; и т.д использовать. пыталась найти их характеристики в интернете, но толкового ответа не нашла,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.08.2012, 23:06
Ответ Создать тему
Опции темы

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