Вопросы с тегом «c++-faq»

89
Что такое правило «как если бы»?

Как сказано в названии, Что такое правило «как если бы»? Типичный ответ, который можно получить: Правило, разрешающее любые преобразования кода, которые не изменяют наблюдаемое поведение программы. Время от времени мы получаем поведение от определенных реализаций, которые приписываются этому...

87
Как вы сериализуете объект в C ++?

У меня есть небольшая иерархия объектов, которые мне нужно сериализовать и передать через соединение сокета. Мне нужно сериализовать объект, а затем десериализовать его в зависимости от типа. Есть ли простой способ сделать это в C ++ (как в Java)? Существуют ли онлайн-образцы кода или учебные...

87
Перегрузка конструктора копирования и оператора = в C ++: возможна ли общая функция?

Поскольку конструктор копирования MyClass(const MyClass&); и оператор = перегрузка MyClass& operator = (const MyClass&); имеют практически одинаковый код, одинаковый параметр и отличаются только при возврате, возможно ли иметь общую функцию для них обоих?...

87
gcc / g ++: «Нет такого файла или каталога»

g++ дает мне ошибки формы: foo.cc:<line>:<column>: fatal error: <bar>: No such file or directory compilation terminated. То же самое и при компиляции C-программ с использованием gcc. Почему это? Обратите внимание: этот вопрос задавали много раз раньше, но каждый раз он относился...

87
Что такое руководства по выбору шаблонов и когда их следует использовать?

Стандарт C ++ 17 представляет «руководства по выводам шаблонов». Я так понимаю, они как-то связаны с новым выводом аргументов шаблона для конструкторов, представленным в этой версии стандарта, но я еще не видел простого объяснения в стиле FAQ, что они собой представляют и для чего они нужны. Что...

84
Неопределенное поведение и точки последовательности перезагружены

Считайте эту тему продолжением следующей темы: Предыдущая партия Неопределенное поведение и точки последовательности Давайте еще раз вернемся к этому забавному и запутанному выражению (выделенные курсивом фразы взяты из темы выше * улыбка *): i += ++i; Мы говорим, что это вызывает неопределенное...