7
ответов

Когда мне следует написать ключевое слово «inline» для функции / метода?

Когда я должен написать ключевое слово inline для функции / метода в C ++? После просмотра некоторых ответов возникли вопросы: когда не следует писать ключевое слово «inline» для функции / метода в C ++? ...
вопрос задан: 2 December 2017 10:18
2
ответа

Несколько определений одной и той же функции в C ++

Я пишу библиотеку для нейронных сетей. Есть некоторые необходимые функции, которые мне нужны, поэтому я выделил их в отдельный заголовочный файл. Я также предоставил определение охранникам. Я тоже включил шапку ...
вопрос задан: 2 March 2019 07:25
1
ответ

Невозможно Быстрые Делегаты C++ и различные единицы перевода

По словам Sergey Ryazanov, его Невозможно Быстрые Делегаты C++ не сопоставимы: Мои делегаты не могут быть сравнены. Операторы сравнения не определяются, потому что делегат не содержит...
вопрос задан: 31 March 2019 14:06
1
ответ

Не вызывает ли std :: piecewise_construct нарушение ODR?

std :: piecewise_construct, определенный в , имеет внутреннюю связь, поскольку объявлен constexpr. Интересно, может ли использование std :: piecewise_construct в заголовке нарушать ODR. Например: a.hpp ...
вопрос задан: 7 July 2018 02:52
0
ответов

ODR и внутренняя связь

Предположим, что у меня есть две единицы компиляции в одной программе, каждая из которых объявляет не встроенную функцию с одинаковыми сигнатурами, но разную реализацию, такую ​​как пространство имен // a.cpp ...
вопрос задан: 20 March 2019 17:10
0
ответов

Статическая переменная в файле заголовка

Статическая переменная имеет файловую область видимости. Скажем, у меня есть два следующих файла: file1.h file1.cpp file2.h file2.cpp Я объявил статическую переменную say static int Var1 в обоих файлах заголовков. И file1.h, и ...
вопрос задан: 20 February 2018 16:17
0
ответов

статическое ключевое слово в файле h и внутренняя ссылка

Еще один статический вопрос. область действия файла и статические поплавки http://msdn.microsoft.com/en-us/library/s1sb61xd.aspx И я все еще не понимаю ...
вопрос задан: 23 May 2017 12:07
0
ответов

C++: Разные классы с одинаковым именем в разных единицах трансляции

Рассмотрим следующий пример: // usedclass1.hpp #include class UsedClass { public: UsedClass() { } void doit() { std::cout << "UsedClass 1 (" << this <&...
вопрос задан: 20 February 2012 16:58
0
ответов

анонимные пространства имен и правило одного определения

Нарушаю ли я правило одного определения следующей программой? foo.hpp #ifndef FOO_HPP_ #define FOO_HPP_ namespace { inline int foo() { return 1; } } встроенный int bar() { ...
вопрос задан: 18 November 2011 21:19
0
ответов

Необходимость вперед объявляющих шаблонных функций

я недавно создал этот пример кода для иллюстрирования C++ 11 шаблонов variadic функциональное использование. шаблон <Голова имени типа, имя типа... Хвост> освобождает нечто (Голова, Хвост...); шаблон <имя типа... Хвост>...
вопрос задан: 31 August 2011 09:50
0
ответов

Связывание глобальных переменных c & c ++ по умолчанию, проблема множественного объявления и определения

Например: code1.c / .cpp int a; // ... и так далее code2.c / .cpp int a; int main (void) {возврат 0; } перейти к компиляции: $ gcc code1.c code2.c # это нормально $ g ++ code1.cpp code2.cpp # ...
вопрос задан: 16 June 2011 11:27
0
ответов

Почему множественное определение глобальной переменной const разрешено в C ++, а не в C?

Множественное определение глобальной переменной не разрешено в C или C ++ из-за правила одного определения. Однако, в C ++ глобальная переменная const может быть определена в нескольких единицах компиляции без ошибок. ...
вопрос задан: 31 May 2011 10:35
0
ответов

Нарушение ODR, когда поиск по имени находит другое объявление

Я думал о следующем. Рассмотрим два файла: A.cpp: template void g (T) {} inline void f () {g (1); } B.cpp: template <класс T> void g (T) {} void g (int) {} inline ...
вопрос задан: 16 May 2011 07:35
0
ответов

Может ли кто-нибудь объяснить этот абзац текущего проекта стандарта C ++ 0x?

Может ли кто-нибудь объяснить это утверждение из ISO N3242 §3.2, 2-й пункт. Функция распределения или освобождения без размещения для класса используется odr определение конструктора этого класса. ...
вопрос задан: 12 April 2011 05:12
0
ответов

Используется виртуальная функция-член, если она не чистая?

C + +03 3.2.2 ... Объект или неперегруженная функция используется, если ее имя появляется в потенциально оцениваемом выражении. Виртуальная функция-член используется, если она не чистая ... А затем в 3.2.3 ...
вопрос задан: 10 November 2010 15:42