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

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

1
Полное руководство и список книг C ++
Ответы на этот вопрос - работа сообщества . Отредактируйте существующие ответы, чтобы улучшить этот пост. В настоящее время он не принимает новые ответы или взаимодействия. На этот вопрос есть ответы на Переполнение стека на русском : Книги и учебные ресурсы по С ++ Этот вопрос пытается собрать несколько жемчужин среди …
4243 c++  c++-faq 


30
Почему «используется пространство имен std;» считается плохой практикой?
Другие говорили мне, что писать using namespace std;в коде неправильно, и что я должен использовать std::coutи std::cinнепосредственно вместо этого. Почему using namespace std;считается плохой практикой? Это неэффективно или существует риск объявления неоднозначных переменных (переменных, которые имеют то же имя, что и функция в stdпространстве имен)? Влияет ли это на производительность?



7
Каковы основные правила и идиомы для перегрузки операторов?
Примечание. Ответы были даны в определенном порядке , но поскольку многие пользователи сортируют ответы по голосам, а не по времени, в которое они были даны, вот индекс ответов в том порядке, в котором они имеют наибольшее значение: Общий синтаксис перегрузки операторов в C ++ Три основных правила перегрузки операторов в …

5
Что такое идиома копирования и обмена?
Что это за идиома и когда ее следует использовать? Какие проблемы это решает? Меняется ли идиома при использовании C ++ 11? Хотя это упоминалось во многих местах, у нас не было ни единого вопроса и ответа «что это такое», так что вот оно. Вот частичный список мест, где это было …


17
Почему шаблоны могут быть реализованы только в заголовочном файле?
Цитата из стандартной библиотеки C ++: учебное пособие и справочник : Единственный переносимый способ использования шаблонов на данный момент - это реализовать их в заголовочных файлах с помощью встроенных функций. Почему это? (Пояснение: заголовочные файлы - не единственное переносимое решение. Но это наиболее удобное переносимое решение.)
1780 c++  templates  c++-faq 

12
Что такое семантика перемещения?
Я только что закончил слушать радио- интервью подкаста Software Engineering со Скоттом Мейерсом о C ++ 0x . Большинство новых функций имело смысл для меня, и сейчас я на самом деле рад C ++ 0x, за исключением одного. Я до сих пор не понимаю семантику перемещения ... Что это такое?

21
Почему я должен использовать указатель, а не сам объект?
Я пришел из Java-фона и начал работать с объектами в C ++. Но одна вещь, которая пришла мне в голову, это то, что люди часто используют указатели на объекты, а не на сами объекты, например, это объявление: Object *myObject = new Object; скорее, чем: Object myObject; Или вместо использования функции, …
1603 c++  c++11  pointers  c++-faq 

30
Что такое неопределенная ссылка / неразрешенная внешняя ошибка символа и как ее исправить?
На этот вопрос есть ответы на переполнение стека на русском : Ссылка на неразрешенный внешний символ (возможные причины) Что такое неопределенные ссылки / неразрешенные внешние ошибки символов? Каковы общие причины и как их исправить / предотвратить? Не стесняйтесь редактировать / добавлять свои собственные.

9
Что такое лямбда-выражение в C ++ 11?
Что такое лямбда-выражение в C ++ 11? Когда я буду использовать один? Какой класс проблемы они решают, что было невозможно до их введения? Несколько примеров и вариантов использования будут полезны.
1488 c++  lambda  c++11  c++-faq 

11
Что такое rvalues, lvalues, xvalues, glvalues ​​и prvalues?
В C ++ 03 выражение является либо значением r, либо значением l . В C ++ 11 выражение может быть: Rvalue именующий xvalue glvalue prvalue Две категории стали пятью категориями. Каковы эти новые категории выражений? Как эти новые категории связаны с существующими категориями rvalue и lvalue? Являются ли категории rvalue …
1357 c++  expression  c++-faq  c++11 

6
Где и почему я должен поставить ключевые слова «template» и «typename»?
В шаблонах, где и почему я должен поставить typenameи templateна зависимых именах? Что именно являются зависимыми именами в любом случае? У меня есть следующий код: template <typename T, typename Tail> // Tail will be a UnionNode too. struct UnionNode : public Tail { // ... template<typename U> struct inUnion { …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.