|
|
C и Cpp
|
Вы держите в руках новое издание популярного и исчерпывающего бестселлера по языку программирования C++, которое было полностью пересмотрено и обновлено под стандарт С++11. Оно поможет вам быстро изучить язык и использовать его весьма эффективными и передовыми способами. В соответствии с самыми передовыми и современными методиками изложения материала авторы демонстрируют использование базового языка и его стандартной библиотеки для разработки эффективного, читабельного и мощного кода. С самого начала этой книги читатель знакомится со стандартной библиотекой C++, ее самыми популярными функциями и средствами, что позволяет сразу же приступить к написанию полезных программ, еще не овладев всеми нюансами языка. Большинство примеров из книги было пересмотрено так, чтобы использовать новые средства языка и продемонстрировать их наилучшие способы применения. Эта книга — не только проверенное руководство для новичков в C++, она содержит также авторитетное обсуждение базовых концепций и методик языка C++ и является ценным ресурсом для опытных программистов, особенно желающих побыстрей узнать об усовершенствованиях C++11. |
|
Несмотря на то, что настоящее издание содержит математическую теорию новейших криптографических алгоритмов, книга в большей степени рассчитана на программистов-практиков. Здесь Вы найдете описание особенностей эффективной реализации криптографических алгоритмов на языках Си и С++, а также большое количество хорошо документированных исходных кодов. Купите книгу, и Вы легко сможете снабдить свои собственные программные разработки сильной криптографической защитой. |
|
В книге рассказывается о языке С и стандартной библиотеке С, следуя девизу компании Deitel: «обучение на действующих примерах». Понятая представляются в контексте тщательно протестированных программ, с выделением синтаксиса, демонстрацией вывода программ и подробного их обсуждения. Приводится примерно 5 000 строк кода на языке С и даются сотни полезных советов, которые помогут вам создавать надежные приложения. Рассматривается создание собственных структур данных и стандартная библиотека, безопасное программирование на С; описываются особенности новой ревизии стандарта С11, в т.ч. многопоточность. Закончив чтение, вы будете иметь все знания, необходимые для создания приложений на языке С промышленного уровня. Издание предназначено программистам, имеющим опыт работы на высокоуровневых языках. |
|
Стандартная библиотека C++ содержит набор универсальных классов и интерфейсов, значительно расширяющих ядро языка C++. Однако эта библиотека не является самоочевидной. Для того чтобы полнее использовать возможности ее компонентов и извлечь из них максимальную пользу, необходим полноценный справочник, а не простое перечисление классов и их функций. В данной книге описывается библиотека как часть нового стандарта ANSI/ISO C++ (С++11). Здесь содержится исчерпывающее описание каждого компонента библиотеки, включая его предназначение и структуру; очень подробно описываются сложные концепции и тонкости практического программирования, необходимые для их эффективного использования, а также ловушки и подводные камни; приводятся точные сигнатуры и определения наиболее важных классов и функций, а также многочисленные примеры работоспособных программ. Основным предметом изучения книги является стандартная библиотека шаблонов (STL), в частности контейнеры, итераторы, функциональные объекты и алгоритмы. |
|
Данная книга является третьим изданием превосходного и эффективного учебного пособия, предназначенного для изучения языка программирования C++ с нуля и удовлетворяющего самым последним стандартам (C++ 11 и C++ 14). Книга задумывалась, с одной стороны, как пособие для тех, кто самостоятельно изучает язык программирования C++, а с другой, она может восприниматься как лекционный курс с проведением практических занятий. Книга содержит полный набор сведений о синтаксисе и концепции языка C++, необходимый для успешного анализа и составления эффективных программных кодов. Материал книги излагается последовательно и сопровождается большим количеством наглядных примеров, разноплановых практических задач и детальным разбором их решений. К каждому разделу прилагается обширный список задач для самостоятельного решения, а также контрольные вопросы (ответы на которые размещены на виртуальный CD). Книга отличается предельной ясностью, четкостью и доступностью изложения, что вкупе с обширной наглядной практикой (задачами и примерами) позволяет ее рекомендовать как отличный выбор для изучения C++ в соответствии с последними стандартами. |
|
«Мы бы хотели, чтобы эта книга стала основой для стандартов кодирования, используемых вашей командой, по двум основным причинам. • Стандарты кодирования должны отражать лучший опыт проб и ошибок всего сообщества программистов. В них должны содержаться проверенные идиомы, основанные на опыте и твердом понимании языка. В частности, стандарт кодирования должен основываться на исчерпывающем анализе литературы по разработке программного обеспечения, и объединять воедино правила, рекомендации и наилучшие практические решения, которые в противном случае оказываются разбросанными по многочисленным источникам. • Природа не терпит пустоты. Если вы не разработаете набор правил, то это сделает кто-то другой. Такие «самопальные» стандарты, как правило, грешат тем, что включают нежелательные для стандарта требования; например, многие из них, по сути, заставляют программистов использовать C++ просто как улучшенный С. Множество таких плохих стандартов кодирования разработаны людьми, которые недостаточно хорошо понимают язык программирования C++ или пытаются чрезмерно детализировать его применение. Плохой стандарт кодирования быстро теряет кредит доверия, и в результате несогласие или неприятие программистами части его положений распространяется на весь стандарт целиком, перечеркивая содержащиеся в нем различные положительные советы и рекомендации. И это — в лучшем случае, потому что в худшем случае такой стандарт и его выполнение могут быть навязаны руководством.» |
|
В книге Современное проектирование на C++ Андрей Александреску открыл новые перспективы в области программирования на языке C++. Проявив великолепные творческие способности, Александреску виртуозно разработал совершенно новый подход к проектированию, объединяющий шаблонное проектирование, обобщенное программирование и особенности языка C++. Это позволяет программистам создавать выразительные и гибкие программы, хорошо приспособленные к повторному применению. В книге вводится понятие обобщенных компонентов — шаблонов проектирования, пригодных для повторного применения и позволяющих создавать шаблонные коды для компилятора, причем для их разработки используется только язык C++. Обобщенные компоненты позволяют легко и гладко переходить от проекта к прикладной программе, генерируя код, который лучше соответствует целям исходного проекта и поддерживает возможность повторного использования структур с минимальными изменениями. Автор описывает особенности программирования на языке C++, позволяющие создавать обобщенные компоненты и применять их для создания реальных приложений на промышленной основе. В книге глубоко проанализированы и решены актуальные задачи программирования. В частности, рассмотрены следующие аспекты обобщенного программирования. • Гибкое проектирование на основе стратегий. • Частичная специализация шаблонов. • Списки типов — мощное средство для манипуляции структурами. • Шаблоны проектирования Visitor, Singleton, Command и Abstract Factory. • Мультиметоды. Для каждого обобщенного компонента в книге рассмотрены все связанные с ним проблемы и аспекты проектирования, а также представлено обобщенное решение соответствующей задачи. Коды обобщенных компонентов, описанных в книге, а также библиотеку Loki, созданную автором на языке C++, можно свободно загрузить с Web-страниц http: //www.awl.com/titles/ 0-201-70431-5. Библиотека Loki обеспечивает замечательные функциональные возможности для практически любых проектов, создаваемых на языке C++. |
|
Эта книга будет полезна всем, кто участвует в разработке или сопровождении программного обеспечения на языках программирования С и C++. в Если вы программист на C/C++, эта книга научит вас выявлять наиболее распространенные программные ошибки, которые приводят к уязвимости программного обеспечения, понимать, как эти ошибки используются злоумышленниками и как реализовывать свои решения безопасным образом. — Если вы руководитель программного проекта, эта книга поможет вам выявить риски и последствия уязвимости программного обеспечения и укажет основные направления деятельности по разработке безопасного программного обеспечения. — Если вы студент-кибернетик, эта книга научит вас приемам программирования, которые помогут вам избежать развития вредных привычек и позволят разрабатывать безопасные программы во время вашей профессиональной карьеры. — Если вы аналитик в области безопасности, то в этой книге вы найдете подробное описание распространенных уязвимостей; здесь же определяются пути обнаружения уязвимостей и предлагаются практические стратегии предотвращения уязвимостей. |
|
Язык С — не просто фундамент всех современных языков программирования, он и сам — современный язык, идеальный для написания эффективных приложений передового уровня. Последние 20 лет С не стоял на месте. Сам язык и окружающая его экосистема подвергаются пересмотру. Эта книга начинается там, где другие заканчиваются. В ней рассказано, как изменилась функциональность, поддерживаемая любым компилятором, благодаря двум новым стандартам С, вышедшим со времен оригинального ANSI. Цель книги — рассмотреть то, чего нет в других учебниках по С: инструменты и окружение; библиотеки для работы со связанными списками и анализаторами XML; написание удобочитаемого кода с дружественным программным интерфейсом. Издание предназначено для программистов, имеющих опыт работы на каком-либо языке и обладающими базовыми знаниями о С. |
|
«Чтобы писать мощные программы на C, необязательно быть экспертом! Эта книга максимально быстро поможет вам освоить язык C благодаря невероятно четкому и простому изложению материала. Вы изучите все основные темы, связанные с этим языком: как организовать программу, хранить и отображать данные, работать с переменными, операторами, вводом/выводом, указателями, массивами, функциями и многими другими вещами. Язык программирования C еще никогда не был таким простым! Оказывается, язык программирования C может быть простым! Перед вами – лучшая из современных книг по программированию на C для начинающих. Она поможет вам приобрести практические навыки, которые пригодятся при программировании на любом языке. Простые и дельные примеры помогут вам начать создавать различные программы — от игр до мобильных приложений — на языке C. Самое важное: — Структура программы. — Логические операторы и выражения. — Переменные. — Циклы. — Встроенные функции. — Массивы и указатели. — Тестирование программ. — Генерация вывода и многое другое. «Грег Перри обучил программированию тысячи студентов. Он написал более 75 книг по информатике и вычислительной техники, проданных во всем мире общим тиражом более 2 миллионов экземпляров». Дин Миллер – автор и редактор с более чем 20-летним опытом в издательском бизнесе. «Замечательная книга, полезная не только для изучающих язык С, но и для новичков в программировании вообще. Она знакомит с базовыми понятиями и приемами программирования простым и доступным языком. Большим плюсом является наличие практических примеров». Александр Ионов, программист.» |
|
«Стиль при разработке программного обеспечения — это поиск идеального баланса между эффективностью и функциональностью, гибкостью и размером кода. В этой книге легендарный гуру в области C++ Герб Саттер представляет 40 новых головоломных задач, в которых анализируется не только то, что следует написать на C++, но и как следует это делать, и которые призваны помочь вам в поисках идеального баланса в ваших программах. Книга организована в виде задач и решений. В ней предложен новый взгляд на ключевые детали и взаимоотношения в C++, освещены новые стратегии, используемые в современных технологиях программирования на C++, включая такие разделы, как обобщенное программирование, STL, безопасность исключений и многое другое. В этой книге вы найдете ответы на следующие вопросы. • Какой опыт по созданию библиотек можно вынести из STL? • Как повысить степень обобщенности шаблонного кода? • Почему не следует специализировать шаблоны функций? Что надо делать вместо этого? • В чем заключается истинная безопасность в смысле исключений? • Следует ли использовать спецификации исключений? • Когда и как можно организовать «утечку» закрытой части класса? • Какое количество памяти в действительности используется в стандартных контейнерах? • Действительно ли использование описателя const обеспечивает повышение степени оптимизации кода? • Как использование описателя inline влияет на производительность программы? • Может ли компилироваться и работать код, который выглядит совершенно неверно и нелепо? • В чем заключаются ошибки проектирования std::string?» |
|
Организованная в виде сборника задач и ответов на них, книга Решение сложных задач на C++ учит читателя решению различных проблем, возникающих при создании реальных программ на языке программирования C++ — от небольших проектов до приложений корпоративного уровня. Содержащая более 80 задач книга познакомит вас с современным C++, его стандартом и идиомами, осветит вопросы, критичные для проектирования и написания надежного и безопасного программного обеспечения. В книге рассмотрены самые разнообразные темы современного программирования, такие как обобщенное программирование, управление памятью, использование стандартной библиотеки C++, включая такие важные технологии как использование свойств и предикатов. Книга содержит множество полезных советов и рекомендаций, которые помогут вам в повседневной работе. Здесь вы найдете ответы на перечисленные ниже важные вопросы. • Какие неприятности могут подстерегать вас при использовании std::map и std::set и как успешно их избежать? • Какие типы предикатов можно безопасно использовать в стандартной библиотеке шаблонов, а какие — нет? • Какие технологии позволяют писать код с использованием обобщенных шаблонов, поведение которых изменяется в зависимости от типов, с которыми они работают? • Когда и как следует оптимизировать ваш код? Какое влияние на вопросы оптимизации оказывает многопоточность кода? • Влияют ли вопросы безопасности исключений на проектирование классов, и если да, то как именно? • Каким образом безопасно использовать auto_ptr? Можно ли использовать интеллектуальные указатели в качестве членов классов? О чем не следует забывать, используя auto_ptr таким образом? • Когда и как следует использовать пространства имен? |
|
Эта книга представляет собой тщательно проверенное, хорошо продуманное и всеобъемлющее учебное пособие, предназначенное для программистов и разработчиков. Ставшая классикой, она обучает принципам программирования, в том числе структуризации кода и нисходящему проектированию. Автор и преподаватель Стивен Прата создал поучительное, ясное и проницательное введение в С. Наряду с деталями языка С объясняются фундаментальные концепции программирования. Многочисленные короткие практические примеры иллюстрируют только одну или две концепции за раз и поощряют читателей проработать новые темы, непосредственно приступив к их реальному использованию. Вопросы для самоконтроля и упражнения по программированию, приводимые в конце каждой главы, ориентированы на критически важные сведения и помогают читателям понять и систематизировать наиболее сложные концепции. Будучи дружественным и простым в чтении руководством, ориентированным на самостоятельное освоение, книга подойдет как студентам, изучающим программирование, так и разработчикам, которые специализируются на других языках и желают лучше понять основы этого базового языка. Шестое издание этой книги было обновлено и расширено с целью охвата последних наработок в языке С, а также раскрытия подробностей нового стандарта СИ. Здесь вы найдете углубленные, широкие и разнообразные подходы и инструменты, совершенствующие процесс изучения. |
|
Эта книга предлагает быстрый способ изучить принципы объектно-ориентированного программирования и освоить практику программирования на языке C++ новейшего стандарта. Издание может использоваться как учебный курс для начинающих осваивать C++, так и удобный справочник для тех, кто хочет быстро найти актуальную информацию о том или ином аспекте языка. Автор книги Алекс Эллайн — профессиональный разработчик на C++, создатель популярнейшего ресурса Cprogramming.com, предлагает собственную уникальную методику обучения программирования, которая позволит нам в кратчайшие сроки стать экспертом разработки на C++. |
|
Книга посвящена разработке приложений для Windows, Mac OS X и Linux с использованием библиотеки Qt версии 5.3. Подробно рассмотрены возможности, предоставляемые этой библиотекой, и описаны особенности, выгодно отличающие ее от других библиотек. Описана интегрированная среда разработки Qt Creator и работа с технологией Qt Quick. |
|
Эта книга посвящена описанию новой версии одной из наиболее популярных систем разработки приложений Visual Studio.NET. В книге последовательно изложены концепции объектно-ориентированного программирования, приведен необходимый справочный материал по языку программирования C++ и библиотеке MFC, подробно рассмотрены вопросы программирования графического интерфейса пользователя. В книге обсуждается архитектура документ-отображение и создание на ее основе SDI и MDI приложений. Рассматриваются вопросы программирования ISAPI-расширений для Интернет. Особое внимание уделено механизмам доступа к серверам баз данных через ODBC и OLE DB. Книга хорошо иллюстрирована и содержит большой объем справочной информации. Изложение материала сопровождается полезными примерами программ. Книга предназначена как для разработчиков программного обеспечения, так и для широкого круга пользователей, желающих самостоятельно научиться проектировать приложения в среде Windows. |
|
CUDA — вычислительная архитектура, разработанная компанией NVIDIA и предназначенная для разработки параллельных программ. В сочетании с развитой программной платформой архитектура CUDA позволяет программисту задействовать невероятную мощь графических процессоров для создания высокопроизводительных приложений, включая научные, инженерные и финансовые приложения. Книга написана двумя старшими членами команды по разработке программной платформы CUDA. Новая технология представлена в ней с точки зрения программиста. Авторы рассматривают все аспекты разработки на CUDA, иллюстрируя изложение работающими примерами. После краткого введения в саму платформу и архитектуру CUDA, а также беглого обзора языка CUDA С, начинается подробное обсуждение различных функциональных возможностей CUDA и связанных с ними компромиссов. Вы узнаете, когда следует использовать то или иное средство и как писать программы, демонстрирующие поистине выдающуюся производительность. Издание предназначено для программистов, а также будет полезно инженерам, научным работникам и студентам вузов. |
|
C++ является стандартом объектно-ориентированного программирования, а данная книга содержит все, что вы обязаны знать о C++, чтобы начать программировать, и ничего лишнего. Она рассчитана на совершенно незнакомых с программированием людей и излагает все вопросы с нуля. Книга полна конкретных примеров, помогающих сложить кусочки разных тем в мозаику языка программирования. |
|
Рассмотрены основы методов алгоритмизации и программирования на языках С и С++. Представлено большое количество задач различной сложности — от простых упражнений до задач олимпиадного уровня. Приведены решения наиболее сложных задач. Материал рассчитан на начинающих изучение программирования на языках С и С++. Практикум входит в состав УМК по информатике для 7–11 классов. |
|
Если вы хотите научиться программировать первоклассные игры, вам просто необходимо изучить язык С++. Эта книга поможет вам освоить разработку игр с самых азов, независимо от того, есть ли у вас опыт программирования. Гораздо интересней учиться, когда обучение превращается в игру. Каждая глава книги описывает самостоятельный игровой проект. В заключительной главе вам предстоит написать сложную игру, которая объединяет все приемы программирования, рассмотренные в предыдущих главах. Книга, которую вы держите в руках, идеально подойдет для начинающего программиста, планирующего не только как следует освоить непростой язык С++, но и поупражняться в программировании игр. |
|