Этот вопрос пытается собрать несколько жемчужин среди десятков плохих книг на С ++, которые публикуются каждый год.
В отличие от многих других языков программирования, которые часто подбираются из учебников, найденных в Интернете, немногие могут быстро забрать C ++, не изучая
...Я знаю, что ссылки являются синтаксическим сахаром, поэтому код легче читать и писать.
Но в чем различия?
Резюме из ответов и ссылок ниже:
Каков самый элегантный способ перебора слов строки? Строку можно считать состоящей из слов, разделенных пробелами.
Обратите внимание, что меня не интересуют функции строки C или такие манипуляции /доступ к символам. Кроме того, пожалуйста, отдайте предпочтение элегантности по эффективности в вашем
...Что означает ключевое слово explicit
в C ++?
Мне сказали, что писать using namespace std
в коде неправильно, и что вместо этого я должен использовать std::cout
и std::cin
напрямую.
Почему using namespace std
считается плохой практикой? Это неэффективно или существует риск объявления неоднозначных переменных (переменных, которые имеют то
Как установить, очистить и немного переключить в C / C ++?
В языках программирования C и C ++, в чем разница между использованием угловых скобок и использованием кавычек в операторе include
, следующим образом?
#include
#include "filename"
Что это за идиома и когда ее следует использовать? Какие проблемы это решает? Меняется ли идиома при использовании C ++ 11?
Хотя это было упомянуто во многих местах, у нас не было единственного «что это» вопрос и ответ, так что
...У меня есть приложение C ++, работающее в Linux, которое я нахожусь в процессе оптимизации. Как я могу определить, какие области моего кода работают медленно?
Я пишу код на C и C ++ почти двадцать лет, но есть один аспект этих языков, который я никогда не понимал. Я, очевидно, использовал регулярные приведения я. е.
MyClass *m = (MyClass *)ptr;
повсюду, но, кажется, есть два других
...Что такое умный указатель и когда его следует использовать?
Цитата из Стандартная библиотека C ++: учебное пособие и справочник :
Единственный переносимый способ использования шаблонов на данный момент - это реализовать их в заголовочных файлах с помощью встроенных функций.
Почему это?
(Уточнение: заголовочные файлы - это не только портативное
...Я только что закончил слушать интервью подкаста радиоинженерии по программному обеспечению со Скоттом Мейерсом относительно C ++ 0x . Большинство новых функций имело смысл для меня, и сейчас я на самом деле рад C ++ 0x, за исключением одного. Я
...Что именно делает помещение extern "C"
в код C ++?
Например:
extern "C" {
void foo();
}
У меня есть четкое понимание большинства ОО-теорий, но меня смущает одна вещь - виртуальные деструкторы.
Я думал, что деструктор всегда вызывается независимо от того, что и для каждого объекта в цепочке.
Когда вы собираетесь сделать их виртуальными и почему?
В C ++ 03 выражением является либо значение , либо значение .
В C ++ 11 выражение может быть:
Две категории стали пятью категориями.
Я всегда путаюсь, как правильно использовать const int*
, const int * const
и int const *
. Существует ли набор правил, определяющих, что вы можете и не можете делать?
Я хочу знать все, что можно и чего нельзя делать
...В шаблонах, где и почему я должен поставить typename
и template
на зависимые имена? Что именно являются зависимыми именами в любом случае? У меня есть следующий код:
template // Tail will be a UnionNode too.
struct UnionNode : public Tail
... В чем разница между наследованием public
, private
и protected
в C ++? Все вопросы, которые я нашел на SO, касаются конкретных случаев.