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

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

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

1
Имеет ли смысл применять принципы Redux к ОО-языкам?
Redux - это по сути функциональное программирование, и оно имеет большой смысл. Когда я возвращаюсь к языку ООП, не поддерживающему JavaScript, в другом проекте, я хотел бы применить те же принципы, такие как один объект состояния, редукторы, которые воздействуют на части этого состояния, бизнес-уровень семантических действий для изменения состояния. Мой …

1
Идиоматическое обёртывание C ++ типа шаблона API в C
Я работаю над упаковкой API C ++, который предоставляет доступ к хранилищу данных (Hazelcast) в функции C, чтобы к хранилищу данных также можно было получить доступ из кода только на C. API Hazelcast C ++ для структуры данных Map выглядит следующим образом: auto map = hazelcastClient->client->getMap<int, string>(mapName); map.put(key, value); Он …
9 c++  c  api-design 

5
Правильно ли говорить, что переменная является экземпляром типа данных?
(это может изменить его значение в течение программы) Или «экземпляр чего-то» строго связан с классами и объектами? Если да, то как бы вы определили понятие «переменная», когда речь заходит о C ++?
9 c++  semantics 

5
Что значит объявить переменную?
Многие низкоуровневые программы используют ключевое слово volatile для типов для отображения памяти и тому подобного, однако я в некотором роде смущен тем, что ДЕЙСТВИТЕЛЬНО делает в фоновом режиме. Другими словами, что это значит, когда компилятор не «оптимизирует» адрес памяти?
9 c++  c  low-level 

2
Принцип сегрегации интерфейса: что делать, если интерфейсы имеют значительное перекрытие?
Из Agile Software Development, Принципы, Шаблоны и Практики: Pearson New International Edition : Иногда методы, вызываемые различными группами клиентов, перекрываются. Если перекрытие небольшое, то интерфейсы для групп должны оставаться отдельными. Общие функции должны быть объявлены во всех перекрывающихся интерфейсах. Класс сервера будет наследовать общие функции от каждого из этих интерфейсов, …

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

1
Разработка хранилища Key / Value с портированием на современный C ++
Я разрабатываю сервер базы данных, похожий на Cassandra. Разработка была начата в C, но все стало очень сложно без классов. В настоящее время я перенес все на C ++ 11, но я все еще изучаю "современный" C ++ и у меня есть сомнения по поводу многих вещей. База данных будет …

4
rand () снова дает те же числа для небольшого диапазона
Я пытаюсь сделать что-то вроде игры, в которой у меня есть сетка 20х20, и я показываю игрока (P), цель (T) и трех врагов (X). Все они имеют координаты X и Y, которые назначаются с помощью rand(). Проблема в том, что если я пытаюсь получить больше очков в игре (пополнение для …
9 c++  random 

4
Как я могу иметь объекты, взаимодействующие и взаимодействующие друг с другом без навязывания иерархии?
Я надеюсь, что эти разговоры прояснят мой вопрос - я бы полностью понял, если они этого не сделают, поэтому дайте мне знать, если это так, и я постараюсь прояснить себя. Познакомьтесь с BoxPong , очень простой игрой, которую я сделал, чтобы познакомиться с разработкой объектно-ориентированных игр. Перетащите коробку, чтобы контролировать …

2
Проектирование классов исключений
Я пишу небольшую библиотеку, и у меня возникли проблемы с проектированием обработки исключений. Я должен сказать, что меня (все еще) смущает эта особенность языка C ++, и я постарался прочитать как можно больше по этому вопросу, чтобы понять, что мне нужно сделать, чтобы правильно работать с классами исключений. Я решил …

7
Поможет ли вам глубокое знание C ++ в изучении других языков быстрее / проще? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Есть ли вероятность того, что кто-то, кто выучил все ключевые аспекты C ++ …
9 c++ 

5
Правильно выбрасывать объекты после завершения работы сервера
Я работаю над большим проектом C ++. Он состоит из сервера, который предоставляет REST API, предоставляя простой и удобный интерфейс для очень широкой системы, включающей множество других серверов. Кодовая база довольно большая и сложная, и развивалась во времени без надлежащего предварительного проектирования. Моя задача - реализовать новые функции и реорганизовать …
9 c++  debugging  memory 

6
Разделить большие интерфейсы
Я использую большой интерфейс с около 50 методов для доступа к базе данных. Интерфейс был написан моим коллегой. Мы обсуждали это: Я: 50 методов это слишком много. Это кодовый запах. Коллега: что мне с этим делать? Вы хотите доступ к БД - у вас есть. Я: Да, но это неясно …

1
Жизнеспособно ли сделать порт из приложения C ++ в Java через LLVM
Насколько жизнеспособно портировать приложение C ++ на байт-код Java, используя LLVM (я думаю, LLJVM)? Дело в том, что в настоящее время у нас есть процесс, написанный на C ++, но новый клиент сделал обязательным, чтобы иметь возможность запускать программу многоплатформенным способом, используя виртуальную машину Java без явно собственного кода (без …
9 java  c++  porting 

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