include-guards

Я пытаюсь выяснить, безопасно ли использовать #import (вместо #include с include guards) в кросс-платформенной библиотеке C++11? Статьи, которые я нашел на SO и в других местах, по-видимому, указывают на то, что #import было предложено включить в стандарт C++11, но, судя по ответам примерно с ~2012 года, это...

Является ли это правильным способом иметь функции в пространстве имен, которые я буду #включать в несколько файлов? Тест.h #pragma once #ifndef TEST #define TEST namespace test{ namespace { bool test(){ return true; } } } #endif //TEST ...

У меня есть много исходных файлов R. Например, в обоих файлах A.R и C.R B.R загружается через source(). Теперь я хотел бы использовать функции как в A.R, так и в C.R, Как я могу избежать повторного поиска B.R? Есть ли какие-либо механизмы защиты include, аналогичные в C / C++? ...

Все мои заголовочные файлы используют include guards , а также pragma once: #pragma once #ifndef FILE_NAME_H #define FILE_NAME_H class foo { //foo interface.. }; #endif /* FILE_NAME_H */ Я понимаю, что pragma once не является стандартной и может не совпадать в разных компиляторах, но есть ли вероят...

Я уже некоторое время использую guards в заголовочных файлах, и единственная причина, по которой я понимаю, почему они используются, - это возможность однократного включения этого ( заголовочного файла, имеющего рассматриваемые guards ) при компиляции. Я хочу знать, есть ли какие-либо другие причины использо...

Решено Что действительно помогло мне, так это то, что я мог #включать заголовки в .cpp-файле, что вызывает пересмотрел ошибки. Я новичок в C++, но у меня есть некоторый опыт программирования на C# и Java, поэтому я могу упустить что-то основное, что уникально для C++. Проблема в том, что я действительно ...

два общих вопроса о включить охранников: ПЕРВЫЙ ВОПРОС: почему не включают охранников, защищающих мои заголовочные файлы от взаимное рекурсивное включение? Я продолжаю получать ошибки о несуществующих символах, которые, очевидно, есть или даже более странные синтаксические ошибки каждый раз, когда я пишу ...