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

34
Обращался ли C ++ 11 к передаче объектов std lib между границами динамической / разделяемой библиотеки? (т.е. дллс и тд)?

Одна из моих главных претензий к C ++ заключается в том, насколько трудно на практике передавать объекты библиотеки std за пределы динамической библиотеки (т.е. dll / so). Библиотека std часто только для заголовков. Что отлично подходит для выполнения некоторых потрясающих оптимизаций. Однако для...

34
Можно ли использовать C ++ в качестве языка веб-разработки на стороне сервера? [закрыто]

Я хотел бы заняться веб-разработкой, используя C ++ в качестве «языка сценариев» на стороне сервера. Моя серверная инфраструктура основана на * nix, поэтому веб-разработка на C ++ на Azure неприменима, а C ++ / CLI ASP.NET также не применима. Отдельно от унаследованных CGI-приложений, можно ли...

34
Когда вы должны использовать bools в C ++?

У нас было задание для нашего класса, где мы должны были создать игру в крестики-нолики . Люди любят усложнять себя, поэтому они написали сложные игры, которые включали меню. В конце игры вам нужно было снова сыграть или выйти из программы. Для этого я использовал intпеременную, но заметил, что...

34
Является ли это запахом кода, чтобы хранить общие объекты в контейнере, а затем получать объекты и выгружать объекты из контейнера?

Например, у меня есть игра, в которой есть несколько инструментов для повышения способности игрока: Tool.h class Tool{ public: std::string name; }; И некоторые инструменты: Sword.h class Sword : public Tool{ public: Sword(){ this->name="Sword"; } int attack; }; Shield.h class Shield : public...

33
JIT-компилятор для C, C ++ и тому подобное

Есть ли компилятор точно в срок для скомпилированных языков, таких как C и C ++? (Первые имена, которые приходят на ум, это Clang и LLVM! Но я не думаю, что они в настоящее время поддерживают это.) Объяснение: Я думаю, что программное обеспечение могло бы выиграть от обратной связи профилирования...

33
raw, weak_ptr, unique_ptr, shared_ptr и т. д. Как правильно их выбрать?

В C ++ есть много указателей, но, если честно, через 5 лет или около того в программировании на C ++ (особенно с Qt Framework) я использую только старый необработанный указатель: SomeKindOfObject *someKindOfObject = new SomeKindOfObject(); Я знаю, что есть много других «умных» указателей: // shared...

33
Как я могу создавать и применять контракты для исключений?

Я пытаюсь убедить руководство своей команды разрешить использование исключений в C ++ вместо возврата bool isSuccessfulили enum с кодом ошибки. Однако я не могу противостоять его критике. Рассмотрим эту библиотеку: class OpenFileException() : public std::runtime_error { } void B(); void C(); /**...

33
Можно ли написать слишком много утверждений?

Я большой поклонник написания assertпроверок в коде C ++ как способа отлавливать случаи во время разработки, которые не могут произойти, но происходят из-за логических ошибок в моей программе. Это хорошая практика в целом. Тем не менее, я заметил, что некоторые функции, которые я пишу (которые...

33
Почему конструкторы не наследуются?

Я не понимаю, какие могут быть проблемы, если конструктор был унаследован от базового класса. Cpp Primer Plus говорит, Конструкторы отличаются от других методов класса тем, что они создают новые объекты, тогда как другие методы вызываются существующими объектами . Это одна из причин, почему...

32
Почему логическое значение хранится в байтах внутри компьютера, когда требуется только один бит

Недавно я начал учиться писать код, и в своей книге я столкнулся с этим вопросом. «Почему логическое значение хранится в байтах внутри компьютера, когда ему требуется только один бит?» может кто-то пролить больше света на этот...

32
Пишете в C для производительности? [закрыто]

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

32
Является ли хорошей практикой использование меньших типов данных для переменных для экономии памяти?

Когда я впервые выучил язык C ++, я узнал, что, кроме int, float и т. Д., В этом языке существуют меньшие или большие версии этих типов данных. Например, я мог бы назвать переменную х int x; or short int x; Основное отличие состоит в том, что short int занимает 2 байта памяти, тогда как int...

32
typedefs и #defines

Мы все определенно использовали typedefs и #defines один или другой раз. Сегодня, работая с ними, я начал задумываться о чем-то. Рассмотрим следующие 2 ситуации для использования intтипа данных с другим именем: typedef int MYINTEGER а также #define MYINTEGER int Как и в приведенной выше ситуации,...

32
Разрешить итерацию внутреннего вектора без утечки реализации

У меня есть класс, который представляет список людей. class AddressBook { public: AddressBook(); private: std::vector<People> people; } Я хочу позволить клиентам перебирать вектор людей. Первая мысль у меня была просто: std::vector<People> & getPeople { return people; } Однако я не...

32
Какой смысл использовать списки над векторами в C ++?

Я провел 3 разных эксперимента с использованием списков и векторов C ++. Те, у кого были векторы, оказались более эффективными, даже когда в центре было много вставок. Отсюда вопрос: в каком случае списки имеют больше смысла, чем векторы? Если векторы кажутся более эффективными в большинстве...

32
Изучает C ++ через Qt Framework. Действительно изучает C ++ [закрыто]

Проблема, с которой я столкнулся, заключается в том, что большинство книг по С ++, которые я читаю, почти всегда тратят на синтаксис и основы языка, например, forциклы while, массивы, списки, указатели и т. Д. Но они, кажется, никогда не создают ничего настолько простого, чтобы использовать его для...

31
Вопросы обработки ошибок

Проблема: В течение долгого времени я беспокоился о exceptionsмеханизме, потому что я чувствую, что он действительно не решает, что он должен. ПРЕТЕНЗИЯ: Есть долгие дебаты по этой теме, и большинство из них пытаются сравнить с exceptionsвозвратом кода ошибки. Это определенно не тема здесь. Пытаясь...

31
Прямое использование Make считается устаревшим? [закрыто]

Поэтому я сталкивался со многими комментариями / публикациями / и т. Д., Касающимися непосредственного создания make-файлов, и того, как это глупо делать в 2015 году. Мне известны такие инструменты, как CMake, и я на самом деле довольно часто использую CMake. Дело в том, что CMake просто создает...

31
Является ли предпочтительным дизайн сверху вниз или снизу вверх?

Как я понимаю, нисходящий дизайн заключается в преобразовании абстрактной концепции высокого уровня в более мелкие конкретные и понятные части, пока не будет определен наименьший строительный блок. С другой стороны, снизу вверх определяются низкоуровневые части, затем постепенно накапливаются блоки...