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

Вопросы о C ++, статически типизированной, свободной форме, мультипарадигме, скомпилированном языке программирования общего назначения.

3
Цель-C ++ постепенно сокращается? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Apple постепенно отказывается от поддержки target-c ++? Обратите внимание на следующее: В руководстве …
10 c++  objective-c  apple 

5
Документация по коду: публичный или непубличный?
Я один из тех разработчиков, которые думают, что написанный код должен быть понятен и читать как книга. ОДНАКО, при разработке кода библиотеки для использования другими людьми, я стараюсь помещать как можно больше документации в файлы заголовков; что поднимает вопрос: стоит ли документировать методы, которые не являются публичными, даже времени? Они …

10
Предпочитаете алгоритмы рукописным циклам?
Что из следующего вам кажется более читабельным? Рукописный цикл: for (std::vector<Foo>::const_iterator it = vec.begin(); it != vec.end(); ++it) { bar.process(*it); } Или вызов алгоритма: #include <algorithm> #include <functional> std::for_each(vec.begin(), vec.end(), std::bind1st(std::mem_fun_ref(&Bar::process), bar)); Интересно, std::for_eachдействительно ли это того стоит, учитывая, что такой простой пример уже требует так много кода. Что вы …
10 c++  algorithms 


4
C ++ Предпочтительный метод работы с реализацией для больших шаблонов
Обычно при объявлении класса C ++ рекомендуется помещать только объявление в заголовочный файл и помещать реализацию в исходный файл. Однако, похоже, что эта модель проектирования не работает для шаблонных классов. При поиске в Интернете, кажется, есть 2 мнения о лучшем способе управления шаблонами классов: 1. Вся декларация и реализация в …

3
Как разработать программу на C ++, позволяющую импортировать функции во время выполнения?
Сегодня я хотел бы задать вам вопрос о возможностях C ++ для реализации конкретной архитектуры программного обеспечения. Конечно, я использовал поиск, но не нашел прямого ответа. По сути, моя цель - создать программу, которая позволяет пользователю моделировать и моделировать произвольно составленные физические системы, например, вождение автомобиля. Я предполагаю иметь библиотеку …

2
Нет ли проблемы с куриным яйцом, поскольку GCC написан на самом C ++?
Начиная с версии 4.8, компилятор C ++ GCC (часть G ++) написан уже не на C, а на самом C ++. У меня есть гипотетический вопрос по этому вопросу. Интересно, как скомпилировать код C ++ GCC на новой платформе, у которой еще нет компилятора C ++. Конечно, вы можете использовать …
10 c++  compiler  gcc 

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

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

4
Шаблон проектирования для полиморфного поведения при разрешении разделения библиотеки
Скажем , у меня есть иерархия Itemклассов: Rectangle, Circle, Triangle. Я хочу иметь возможность рисовать их, поэтому моя первая возможность - добавить виртуальный Draw()метод к каждому: class Item { public: virtual ~Item(); virtual void Draw() =0; }; Однако я хочу разделить функциональность рисования на отдельную библиотеку Draw, в то время …

3
Как я должен инкапсулировать доступ к базе данных?
Какие примеры хороших структур классов используются для управления доступом к базе данных? Я фанат инкапсуляции классов и предпочел бы, чтобы контейнеры (например, машина) не выполняли задачи базы данных. Мне также хотелось бы, чтобы в будущем можно было легко добавлять такие вещи, как кэш базы данных. Я часто беру шаблон классов …
10 c++  database 

3
Абстрактные базовые классы и конструкция копирования, практические правила
Часто бывает полезно иметь абстрактный базовый класс для изоляции интерфейса объекта. Проблема в том, что конструкция копирования, IMHO, по умолчанию в C ++ в значительной степени нарушена, а конструкторы копирования генерируются по умолчанию. Итак, что за ошибки, когда у вас есть абстрактный базовый класс и необработанные указатели в производных классах? …

9
Наследование против композиции для шахматных фигур
Быстрый поиск этого стека обмена показывает, что в целом состав обычно считается более гибким, чем наследование, но, как всегда, это зависит от проекта и т. Д., И бывают случаи, когда наследование является лучшим выбором. Я хочу создать трехмерную шахматную игру, в которой каждая фигура имеет сетку, возможно, различные анимации и …

2
Правильный дизайн, чтобы избежать использования dynamic_cast?
После некоторых исследований я не могу найти простой пример решения проблемы, с которой я часто сталкиваюсь. Допустим, я хочу создать небольшое приложение, в котором я могу создавать Squares, Circles и другие фигуры, отображать их на экране, изменять их свойства после их выбора, а затем вычислять все их периметры. Я бы …

3
Как изменить программное обеспечение, чтобы стать в режиме реального времени? [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 3 года назад . Во-первых, я хотел бы отметить, что я новичок в системном программировании …
9 c++  real-time 

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