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

C ++ 11 - это название стандарта C ++, утвержденного в 2011 году. Он заменяет предыдущий стандарт C ++ 03, добавляя различные изменения и исправления в базовом языке, а также улучшенную и расширенную стандартную библиотеку.

3
Будет ли разрушение большого списка переполнять мой стек?
Рассмотрим следующую реализацию односвязного списка: struct node { std::unique_ptr<node> next; ComplicatedDestructorClass data; } Теперь предположим, что я перестал использовать некоторый std::unique_ptr<node> headэкземпляр, который затем выходит из области видимости, вызывая вызов его деструктора. Будет ли это удар по моему стеку для достаточно больших списков? Справедливо ли предположить, что компилятор будет выполнять …

4
Что такое использование универсальных имен символов в идентификаторах в C ++
C ++ стандарта (я заметил это в новом, но он уже существует в C ++ 03) определяет универсальные имена символов, написанные , как \uNNNNи \UNNNNNNNNи представляющие символы с Юникодом кодовыми NNNN/ NNNNNNNN. Это полезно для строковых литералов, тем более что явно определены строковые литералы UTF-8, UTF-16 и UCS-4. Однако универсальные …
11 c++  c++11 

1
Очередь сообщений для RTOS для микроконтроллеров
Я сейчас пишу ОСРВ для микроконтроллеров. Все написано на C ++ 11 - если кому-то интересно, а ссылка на репозиторий находится внизу. В настоящее время я пишу класс, который представляет собой простую очередь данных для передачи объектов между потоками (или между обработчиками прерываний и потоками или обработчиками прерываний и другими …

4
Что является хорошим способом представить отношения многих ко многим между двумя классами?
Допустим, у меня есть два типа объектов, A и B. Отношения между ними многие-ко-многим, но ни один из них не является владельцем другого. И экземпляры A и B должны знать о соединении; это не только один путь. Итак, мы можем сделать это: class A { ... private: std::vector<B *> Bs; …
10 c++  c++11 

1
Перемещение семантики в C ++ - Перемещение-возврат локальных переменных
Насколько я понимаю, в C ++ 11, когда вы возвращаете локальную переменную из функции по значению, компилятору разрешается обрабатывать эту переменную как ссылку на r-значение и «перемещать» ее из функции для ее возврата (если RVO / NRVO не происходит вместо этого, конечно). Мой вопрос, не может ли это сломать существующий …
10 c++  c++11 

3
C ++: метапрограммирование с помощью API компилятора, а не с функциями C ++
Это началось как вопрос SO, но я понял, что это довольно нетрадиционно и, исходя из фактического описания на веб-сайтах, он может быть более подходящим для программистов. Так как вопрос имеет большой концептуальный вес. Я изучал clang LibTooling, и это очень мощный инструмент, способный разоблачить весь «мелкий элемент» кода дружественным образом, …

2
Является ли это хорошим подходом для иерархии классов на основе pImpl в C ++?
У меня есть иерархия классов, для которой я хотел бы отделить интерфейс от реализации. Мое решение состоит в том, чтобы иметь две иерархии: иерархию дескрипторов классов для интерфейса и иерархию закрытых классов для реализации. Базовый класс дескриптора имеет указатель на реализацию, которую производные классы дескриптора приводят к указателю производного типа …
9 design  c++  c++11 

1
Обзор дизайна сериализации C ++
Я пишу приложение на C ++. Большинству приложений требуется чтение и запись данных, и это не исключение. Я создал дизайн высокого уровня для модели данных и логики сериализации. Этот вопрос требует пересмотра моего дизайна с учетом этих конкретных целей: Иметь простой и гибкий способ чтения и записи моделей данных в …
9 design  c++  c++11 

1
Разработка хранилища Key / Value с портированием на современный C ++
Я разрабатываю сервер базы данных, похожий на Cassandra. Разработка была начата в C, но все стало очень сложно без классов. В настоящее время я перенес все на C ++ 11, но я все еще изучаю "современный" C ++ и у меня есть сомнения по поводу многих вещей. База данных будет …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.