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

Предоставляет совлокальный, отредактированный сообществами С++ FAQ
1

Окончательное руководство и список книг на С++

Этот вопрос пытается собрать несколько жемчужин среди десятков плохих книг на С++, которые публикуются каждый год. В отличие от многих других языков программирования, которые часто подбираются из учебников, найденных в Интернете, немногие из них мог...
23 дек. '08 в 5:23
41

Каковы различия между переменной указателя и ссылочной переменной в С++?

Я знаю, что ссылки - это синтаксический сахар, поэтому код легче читать и писать. Но каковы различия? Резюме из ответов и ссылок ниже: Указатель может быть повторно назначен любым количеством раз, в то время как ссылка не может быть повторно назн...
11 сент. '08 в 20:03
37

Почему "использование пространства имен std;" считается плохой практикой?

Другие говорили мне, что написание using namespace std; в коде неправильно, и что я должен вместо этого использовать напрямую std::cout и std::cin. Почему using namespace std; считается плохой практикой? Это неэффективно или существует риск объявле...
21 сент. '09 в 3:08
11

Что означает явное ключевое слово?

Что означает ключевое слово explicit в С++?
23 сент. '08 в 13:58
8

Когда следует использовать static_cast, dynamic_cast, const_cast и reinterpret_cast?

Какое правильное использование: static_cast dynamic_cast const_cast reinterpret_cast C-стиль (type)value Литье в стиле функции type(value) Как вы решаете, что использовать в каких случаях?
01 дек. '08 в 20:11
7

Каковы основные правила и идиомы для перегрузки оператора?

Примечание. Ответы были заданы в определенном порядке, но поскольку многие пользователи сортируют ответы в соответствии с голосами, а не время, которое они дали, здесь индекс ответов в том порядке, в котором они имеют наибольший смысл: Общий синт...
12 дек. '10 в 12:44
8

Что такое правило трех?

Что означает копирование объекта? Что такое конструктор копирования и оператор присваивания копии? Когда мне нужно объявить их самостоятельно? Как я могу предотвратить копирование моих объектов?
13 нояб. '10 в 13:27
5

Что такое идиома копирования и свопинга?

Что это за идиома и когда он должен использоваться? Какие проблемы он решает? Изменяется ли идиома при использовании С++ 11? Хотя это упоминалось во многих местах, у нас не было никаких особых вопросов "что это" и ответа, так что вот оно. Вот неполн...
19 июл. '10 в 8:42
14

Что такое умный указатель, и когда я должен его использовать?

Что такое умный указатель и когда я должен его использовать?
20 сент. '08 в 0:09
17

Почему шаблоны могут быть реализованы только в файле заголовка?

Цитата из Стандартная библиотека С++: учебник и справочник: Единственный переносимый способ использования шаблонов на данный момент - реализовать их в файлах заголовков с помощью встроенных функций. Почему это? (Уточнение: файлы заголовков - не ...
30 янв. '09 в 10:06
11

Что такое семантика перемещения?

Я только что закончил слушать радио- интервью подкаста Software Engineering со Скоттом Мейерсом о С++ 0x. Большинство новых функций имело смысл для меня, и сейчас я на самом деле рад С++ 0x, за исключением одного. Я до сих пор не понимаю семантику п...
23 июн. '10 в 22:46
34

Что такое undefined ссылка/неразрешенная внешняя ошибка символов и как ее исправить?

Каковы undefined ссылки/нерешенные внешние ошибки символов? Каковы распространенные причины и способы их устранения/предотвращения? Не стесняйтесь редактировать/добавлять свои собственные.
24 сент. '12 в 22:27
10

Что такое лямбда-выражение в С++ 11?

Что такое лямбда-выражение в С++ 11? Когда я его буду использовать? Какой класс проблемы они решают, что было невозможно до их введения? Несколько примеров, и примеры использования были бы полезны.
02 окт. '11 в 14:58
12

Что такое rvalues, lvalues, xvalues, glvalues ​​и prvalues?

В С++ 03 выражение имеет значение rvalue или lvalue. В С++ 11 выражение может быть: Rvalue именующего xvalue glvalue prvalue Две категории стали пятью категориями. Что представляют собой эти новые категории выражений? Как эти новые...
30 авг. '10 в 15:02
6

Где и почему мне нужно поставить ключевые слова "шаблон" и "имя-тип"?

В шаблонах, где и зачем мне помещать typename и template в зависимые имена? Что же такое имена зависимых? У меня есть следующий код: template <typename T, typename Tail> // Tail will be a UnionNode too. struct UnionNode : public Tail { //...
04 мар. '09 в 11:56