Что такое «точки последовательности»? Какова связь между неопределенным поведением и точками последовательности? Я часто использую смешные и запутанные выражения, такие как [++ i] = i;, чтобы чувствовать себя лучше. Зачем ...
Когда именно объекты уничтожаются в C ++ и что это означает? Придется ли мне уничтожать их вручную, ведь сборщика мусора нет? Как в игру вступают исключения? (Примечание: это предназначено для ...
Как мне написать пользовательские операторы new и delete, соответствующие стандарту ISO C ++? Это продолжение раздела «Перегрузка нового» и «Удалить» в чрезвычайно ярких часто задаваемых вопросах по C ++, «Перегрузка операторов» и ...
Сравнения, плюсы, минусы и когда использовать? Это ответвление от ветки сборки мусора, где то, что я считал простым ответом, породило множество комментариев о каком-то конкретном умном указателе ...
В C ++ есть 4 оператора, которые могут быть перегружены, но не могут быть перегружены как автономные (также не являющиеся членами, автономные ) функции. Это следующие операторы: оператор = оператор ()
оператор ->
...
C ++ унаследовал массивы от C, где они используются практически везде. C ++ предоставляет абстракции, которые проще в использовании и менее подвержены ошибкам (std :: vector < T > начиная с C ++ 98 и std :: array < T, n > ...
Большинство пользователей C ++, изучивших C, предпочитают использовать семейство функций printf / scanf, даже когда они кодируют на C ++. Хотя я признаю, что считаю интерфейс намного лучше (особенно формат, подобный POSIX ...
Я читал это и, к сожалению, не мог понять, почему компилятор не позволяет преобразование из Derived ** в Base **. Также я видел это, которое дает не больше информации, чем ...
Я только что написал класс с некоторыми статическими элементами данных, но теперь я получаю ошибки о «неопределенных ссылках». Почему это не работает? Что я делаю не так? (Примечание: это должна быть запись в ...
Этот ответ @R. Мартиньо Фернандес показывает, что идиома safe-bool явно устарела в C ++ 11, так как ее можно заменить простым явным оператором bool () const; по стандарту ...
Итак, когда я в последний раз писал на C++, std::auto_ptr был всем доступным в std lib, а boost::shared_ptr был в тренде. Я никогда не рассматривал другие типы умных указателей boost ...
Переходя от других языков, производных от C (таких как Java или C #) к C ++, сначала очень сбивает с толку то, что C ++ имеет три способа обращения к членам класса: a :: b , ab и a-> b. Когда я использую какой из ...
Если бы классы ниже не были шаблонами, я мог бы просто иметь x в производном классе. Однако в приведенном ниже коде я должен использовать this-> x. Почему? шаблон
class base {protected: ...
Приведенный ниже код работает в Visual Studio 2008 с оптимизацией и без нее. Но работает только на g ++ без оптимизации (O0). #include
# include
# include
...
На странице состояния clang C ++ 11 натолкнулся на предложение под названием «ссылка rvalue для * this». Я довольно много читал о ссылках на rvalue и понял их, но не думаю, что знаю об этом. Я также ...
Есть хорошо известное изображение (шпаргалка) под названием «Выбор контейнера C ++». Это блок-схема, чтобы выбрать лучший контейнер для желаемого использования. Кто-нибудь знает, есть ли уже версия на C ++ 11? ...
Функция std :: move (x) в C ++ 11 вообще ничего не перемещает. Это просто приведение к r-значению. Почему это было сделано? Разве это не вводит в заблуждение?
Я понимаю большинство операторов перегрузки, за исключением операторов доступа к членам ->, .*, ->* и др. В частности, что передается этим операторным функциям и что должно быть возвращено?...
Я изучил некоторые из новых функций C ++ 11, и одна из них я заметил, это двойной амперсанд в объявлении переменных, таких как T & amp; & amp; вар. Для начала, как зовут этого зверя? Хотелось бы ...
У меня есть XML-документы, которые мне нужно проанализировать и / или мне нужно создать XML-документы и записать их в текст (файлы или память). Поскольку в стандартной библиотеке C ++ библиотеки для этого нет, то что ...
, Если у меня есть C++, 11 программ, выполняющих два потока и одного из них, выдают необработанное исключение, что происходит? Вся программа умрет пламенной смертью? Будет поток, где исключение выдается, умирают...
Если я объявляю объект, заключенный в общий указатель: std::shared_ptr myClassObject(new myClass()); затем я хотел передать его как аргумент методу: DoSomething(myClassObject); //...
Сначала я изучал C#, а теперь начинаю с C++. Как я понимаю, оператор new в C++ не похож на тот, что в C#. Не могли бы вы объяснить причину утечки памяти в этом примере кода? class A { ....
Что такое лямбда-выражение в C ++ 11? Когда я буду использовать один? Какой класс проблемы они решают, что было невозможно до их введения? Несколько примеров и вариантов использования будут полезны.
I keep seeing reference to both the C++ standard Library and the C++ Standard Template Library (STL). What is the difference between them? Wikipedia mentions that they share some headers but that's ...
После перезаписи истории поддеревьев из репозитория с помощью моего скрипта я сравнил его с тем, что будет делать фильтр git- ветвь ... на том же поддереве. Я вижу, что первоначальные коммиты отличаются ...