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

39
Являются ли служебные классы, содержащие только статические члены, антипаттерном в C ++?

Вопрос « Куда мне помещать функции, не связанные с классом », вызвал некоторые споры о том, имеет ли смысл в C ++ объединять служебные функции в классе или они просто существуют как свободные функции в пространстве имен. Я пришел из C # фона, где последний вариант не существует, и, таким образом,...

39
В C ++ сколько времени программист тратит на управление памятью

Люди, которые привыкли собирать языки, часто боятся управления памятью в C ++. Существуют такие инструменты, как auto_ptrи shared_ptrкоторые будут выполнять многие задачи по управлению памятью для вас. Множество библиотек C ++ предшествуют этим инструментам и имеют собственный способ обработки...

38
Лучшие практики использования пространств имен в C ++ [закрыто]

Я прочитал « Чистый код» дяди Боба несколько месяцев назад, и это сильно повлияло на то, как я пишу код. Даже если бы казалось, что он повторяет вещи, которые должен знать каждый программист, объединение их всех и применение на практике приводит к гораздо более чистому коду. В частности, я...

38
Является ли хорошей практикой полагаться на транзитные заголовки?

Я очищаю включения в проекте C ++, над которым я работаю, и все время задаюсь вопросом, следует ли мне явно включать все заголовки, используемые непосредственно в конкретном файле, или же я должен включать только минимум. Вот пример Entity.hpp: #include "RenderObject.hpp" #include "Texture.hpp"...

38
Недостатки управления памятью на основе областей

Мне действительно нравится управление памятью на основе области (SBMM) или RAII , так как на него чаще всего (сбивает с толку?) Ссылается сообщество C ++. Насколько я знаю, за исключением C ++ (и C), сегодня нет другого основного языка, который бы использовал SBMM / RAII в качестве основного...

38
В C ++ почему и как виртуальные функции работают медленнее?

Может кто-нибудь подробно объяснить, как именно работает виртуальная таблица и какие указатели связаны при вызове виртуальных функций. Если они на самом деле медленнее, можете ли вы показать, что время выполнения виртуальной функции превышает обычные методы класса? Легко потерять отслеживание того,...

37
Больно ли изучать биты многих языков программирования?

Я начал свою карьеру программиста в BASIC в 9-м классе. Я немного изучил бейсик, написав простые программы для сложения, вычитания и печати. Затем я пошел в университет и взял компьютерную информацию и системную инженерию. В первый год меня учили С, и я хорошо им владею. Затем я изучил C ++ на...

37
Хороший пример сложного кода с использованием TDD [закрыто]

Что может быть хорошим примером использования TDD в крупных, реальных, сложных проектах? Все примеры, которые я видел до сих пор, являются игрушечными проектами для книги или газеты ... Можете ли вы назвать проект с открытым исходным кодом, который интенсивно использует TDD? Желательно на C ++, но...

37
Как я могу чувствовать себя более уверенно в своих навыках программирования? [закрыто]

Программирование мне не чуждо. Сначала я начал делать разметку (HTML, теперь, пожалуйста, не смейтесь надо мной), когда мне было 12 лет, и немного Бейсика, когда мне было 13 лет (я много знал о блок-схемах, псевдокодах на данный момент), но затем меня предупредили Биология в старшей школе и,...

37
C ++ 11 включает в себя std :: stoi, почему бы не std :: itos?

Я заметил, что в C ++ 11 есть std::sto@семейство функций для простой распаковки ints / float / longs из строк. Однако я удивлен, что обратное не реализовано. Почему комитет по стандартам не включает std::itosсемейство функций для перехода от int / float / что угодно (назад) к...

37
«Клубный парадокс» и с ++

Я читал статью здесь: http://www.paulgraham.com/avg.html, и часть о "парадоксе пузыря" была особенно интересной. Как человек, который в основном кодирует на c ++, но имеет знакомство с другими языками (в основном Haskell), я знаю о некоторых полезных вещах на этих языках, которые трудно...

36
Я начинающий. Могу ли я сразу начать изучать C ++ 11? или я должен выучить старый C ++? [закрыто]

Я новичок, и у меня мало знаний в программировании. Было бы хорошо, если бы я непосредственно изучал C ++ из книг, которые охватывают новый C ++ 11, или я должен изучать старые лучшие книги по C ++? Должен ли я иметь немного знаний о C ++ до изучения C ++ 11? или я могу начать прямо оттуда? Не...

35
Разве «всегда инициализируемые переменные» не приводят к скрытию важных ошибок?

В C ++ Core Guidelines есть правило ES.20: всегда инициализировать объект . Избегайте ошибок «до установки» и связанных с ними неопределенных действий. Избегайте проблем с пониманием сложной инициализации. Упростить рефакторинг. Но это правило не помогает находить ошибки, оно только скрывает их....

35
Худшие практики в C ++, распространенные ошибки [закрыто]

После прочтения этой знаменитой речи Линуса Торвальдса я подумал, что на самом деле являются подводными камнями для программистов на C ++. Я явно не имею в виду опечатки или неверный поток программ, которые рассматриваются в этом вопросе и его ответах , но я обращаюсь к более высокоуровневым...

35
Как сделать переход на C ++ 11?

Я некоторое время программировал на C ++, но в основном это было связано с низкоуровневыми возможностями C ++. Под этим я подразумеваю в основном работу с указателями и необработанными массивами. Я думаю, что это поведение известно как использование C ++ как C с классами. Несмотря на это, я только...

35
Является ли алгоритм более важным, чем язык программирования?

Во время текущего (2013 г.) конкурса Google Code Jam возникла проблема, которая потребовала от C ++ и Java людей более 200 строк кода по сравнению с людьми из Python, которые решили ту же проблему, используя только 40 строк кода. Python не напрямую сопоставим с C ++ и Java, но я думаю, что различие...

35
что такое передача сообщений в ОО?

Я изучал ОО-программирование, прежде всего на C ++, C # и Java. Я думал, что хорошо разбираюсь в этом с моим пониманием инкапсуляции, наследования и полиморфизма (а также прочитав много вопросов на этом сайте). Одна вещь, которая, кажется, всплывает здесь и там, это понятие «передача сообщений»....

35
Как Rust расходится с возможностями параллелизма в C ++?

Вопросов Я пытаюсь понять, улучшает ли Rust фундаментально и достаточно средства параллелизма в C ++, чтобы решить, стоит ли мне тратить время на изучение Rust. В частности, как идиоматический Rust улучшается или, во всяком случае, расходится с возможностями параллелизма идиоматического C ++?...

35
Преподавание С ++ ученикам старших классов: где провести черту?

Я буду наставником команды старшеклассников для ПЕРВОГО соревнования по робототехнике, большинство команд здесь разрабатывают [свое программное обеспечение для роботов с использованием C ++. Для многих студентов в команде это будет их первое знакомство с программированием. Я бы не выбрал C ++ для...