Home / All Resources
17 All Resources
The story behind this article is very simple, I wanted to learn about new C++20 language features and to have a brief summary for all of them on a single page. So, I decided to read all proposals and create this “cheat sheet” that explains and demonstrates each feature. This is not a “best practices” kind of article, it serves only demonstrational purpose. Most examples were inspired or directly taken from corresponding proposals, all credit goes to their authors and to members of ISO C++ committee for their work. Enjoy!
From Marshall Cline: Bjarne Stroustrup, Herb Sutter, Andrei Alexandrescu, Pearson / Addison-Wesley Publishers and I collaborated to create a new C++ Super-FAQ! It's a team effort, with huge contributions from each of us and with amazing support from dozens of brilliant editors. The result is "awesomer" than ever! I originally wrote/published the FAQ in 1991 and now look forward to this new phase - and to continue working with it for another 20 years!
Well, you might have faced this problem in your coding life. Also you might know the answer already. The problem was about the std::map or say std::multimap, both of them are special type of containers who can sort the items by a comparing function pointer(or a built-in one like std::less). They sort it when you are inserting a new item, that's of course so handy, because you don't wanna call a sorting function every time you need to! Actually you will never explicitly call any sorting function on your map or multimap, coz it's already sorted! Now here's my problem-
The Fibonacci sequence is named after italian mathematician Leonardo of Pisa, known as Fibonacci. His 1202 book "Liber Abaci" introduced the sequence to Western European mathematics, althoutgh the sequence had been described earlier as Virahanka numbers in Indian mathematics. By convention, the sequence begin either with Fo=0 or with F1=1.
One of the main problems with C++ is having a huge number of constructions whose behavior is undefined, or is just unexpected for a programmer. We often come across them when using our static analyzer on various projects. But, as we all know, the best thing is to detect errors at the compilation stage. Let's see which techniques in modern C++ help writing not only simple and clear code, but make it safer and more reliable.
C and C++ are general-purpose computer programming languages. They are closely related but with significant differences. This guide intends to showcase some of the features and differences of both languages in a user-friendly, progressive format. This is not a substitution for in-depth study, but should serve well as an introduction or a refresher.
This book was written with two groups of readers in mind. Whether you are new to C and want to learn it, or already know the older version of the language but want to find out more about the new standard, we hope that you will find what follows both instructive and at times entertaining too.
This is not a tutorial introduction to programming. The book is designed for programmers who already have some experience of using a modern high-level procedural programming language. As we explain later, C isn't really appropriate for complete beginners—though many have managed to use it—so the book will assume that its readers have already done battle with the notions of statements, variables, conditional execution, arrays, procedures (or subroutines) and so on. Instead of wasting your time by ploughing through tedious descriptions of how to add two numbers together and explaining that the symbol for multiplication is *
, the book concentrates on the things that are special to C. In particular, it's the way that C is used which is emphasized.
The biggest challenge facing many game programmers is completing their game. Most game projects fizzle out, overwhelmed by the complexity of their own code. Game Programming Patterns tackles that exact problem. Based on years of experience in shipped AAA titles, this book collects proven patterns to untangle and optimize your game, organized as independent recipes so you can pick just the patterns you need.
You will learn how to write a robust game loop, how to organize your entities using components, and take advantage of the CPUs cache to improve your performance. You'll dive deep into how scripting engines encode behavior, how quadtrees and other spatial partitions optimize your engine, and how other classic design patterns can be used in games.
A C programming tutorial for users of the GNU operating system.
Welcome to Learning GNU C. The aim of this book is to teach GNU users how to write software in C. It is written primarily as a tutorial for beginners but it should be thorough enough to be useful as a reference by intermediate programmers. The basics are layed down in full in the first few chapters, beginners will read these chapters carefully while those with prior experience can skim through them. All the information is there, no prior knowledge of programming is assumed. Because the goal of this book is to make you a software developer, we’ll then move on to some very practical usages, the likes of which normally aren’t taught until much later in other books.
The C++ Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow. Text content is released under Creative Commons BY-SA. See credits at the end of this book whom contributed to the various chapters. Images may be copyright of their respective owners unless otherwise specified
Book created for educational purposes and is not affiliated with C++ group(s), company(s) nor Stack Overflow. All trademarks belong to their respective company owners
708 pages, published on May 2019
This book is for C++ programmers who want to reduce their development time, ease their portability problems, and reduce the number of bugs and memory leaks.
A different name for this book was considered:
Tips and Tricks of the C++ Masters
but this led to the connotation that this was a book of C++ peculiarities and wizards tricks. While there might be one or two of those to be found -- most of them gleened from looking at the source code for early STL versions -- that isn't the focus of the book.
Instead, this book is for the professional developer of large scale C++ programs. Its about standard practices, regularity, simplicity, and correctness
What you are reading is the first of what I hope to be many everimproving iterations of a useful C++ textbook. We’ve gone fairly quickly from whim to print on an all-volunteer basis, and as a result, there are many things that I’d add and change if I had an infinite amount of time in my schedule. e vast majority of the contents were wrien in less than 36 hours by 25 students (mostly freshmen!) at Norwich University over a long weekend. Some of it is mine, and some was added by our crack team of technical editors as we translated sleep-deprived poor grammar into sleep-deprived beer grammar
This is a set of core guidelines for modern C++ (currently C++17) taking likely future enhancements and ISO Technical Specifications (TSs) into account. The aim is to help C++ programmers to write simpler, more efficient, more maintainable code.
C++ is one of the main development languages used by many of Google's open-source projects. As every C++ programmer knows, the language has many powerful features, but this power brings with it complexity, which in turn can make code more bug-prone and harder to read and maintain.
The goal of this guide is to manage this complexity by describing in detail the dos and don'ts of writing C++ code . These rules exist to keep the code base manageable while still allowing coders to use C++ language features productively.
Beej's Guide to C Programming
The C++ Annotations offer an extensive tutorial about the C++ programming language. It can be used as a textbook for C/C++ programming courses.