background preloader

The Definitive C++ Book Guide and List

The Definitive C++ Book Guide and List

Bruce Eckel's MindView, Inc: Thinking in C++, Volume 1<br>Solution Guide This page describes the Annotated Solution Guide for the book Thinking in C++, 2nd Edition, Volume 1 by Bruce Eckel. The solution guide was written by Chuck Allison. The solution guide may be purchased for 12$ USD, and is available as an electronic book only. The guide consists of a set of HTML pages, one for each chapter, and a source-code 'tree' containing all the code from the guide in a compilable form, along with makefiles. See the Introduction for details. Only a selection of the problems have been solved, which you can see in the List of Solved Problems. Please view the 'Introduction' and 'Sample Solutions Chapter' (which covers Chapter 2 from the book) before purchasing, so you can be sure this is what you want. Introduction List of Solved Problems Sample Solutions Chapter (Chapter 2) Sample Source Code for Chapter 2 Click Here to Purchase

Radix sort In computer science, radix sort is a non-comparative integer sorting algorithm that sorts data with integer keys by grouping keys by the individual digits which share the same significant position and value. A positional notation is required, but because integers can represent strings of characters (e.g., names or dates) and specially formatted floating point numbers, radix sort is not limited to integers. Radix sort dates back as far as 1887 to the work of Herman Hollerith on tabulating machines.[1] Most digital computers internally represent all of their data as electronic representations of binary numbers, so processing the digits of integer representations by groups of binary digit representations is most convenient. LSD radix sorts typically use the following sorting order: short keys come before longer keys, and keys of the same length are sorted lexicographically. Efficiency[edit] The deciding factor is how the keys are distributed. Least significant digit radix sorts[edit]

Software optimization resources. C++ and assembly. Windows, Linux, BSD, Mac OS X See also my blog Contents Optimization manuals This series of five manuals describes everything you need to know about optimizing code for x86 and x86-64 family microprocessors, including optimization advices for C++ and assembly language, details about the microarchitecture and instruction timings of most Intel, AMD and VIA processors, and details about different compilers and calling conventions. Operating systems covered: DOS, Windows, Linux, BSD, Mac OS X Intel based, 32 and 64 bits. Note that these manuals are not for beginners. 1. This is an optimization manual for advanced C++ programmers. 2. This is an optimization manual for advanced assembly language programmers and compiler makers. 3. This manual contains details about the internal working of various microprocessors from Intel, AMD and VIA. 4. 5. All five manuals Download all the above manuals together in one zip file. C++ vector class library File name: vectorclass.zip, size: 682404, last modified: 2017-Jul-27.Download.

How to Take Your First Coding Project from Start to Finish I've used various versions of Windows for years, Linux in various flavours for another few years, and OS X for about 2-3 years total. I'm now a convert to OS X (though proudly not part of the cult of Mac — I enjoy the OS, I don't want Jobs' offspring) for general desktop use, switching to Windows for gaming. I find app quality is generally significantly higher on OS X than Windows (and certainly Linux). Do note the word "generally" — some of this stuff is cross-platform and in some cases Windows offers something better! The drawback of this is that most of it costs a couple of bucks, but that's a small price to pay if you're using your computer for various tasks daily. The UNIX core and bash are very important to me. User experience also plays a large part. Then there are the extras, like the *virtual* immunity to malware.

The Java™ Tutorials The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available. See Java Language Changes for a summary of updated language features in Java SE 9 and subsequent releases. The Java Tutorials are practical guides for programmers who want to use the Java programming language to create applications. Trails Covering the Basics These trails are available in book form as The Java Tutorial, Sixth Edition. Creating Graphical User Interfaces Creating a GUI with Swing — A comprehensive introduction to GUI creation on the Java platform. Specialized Trails and Lessons These trails and lessons are only available as web pages. Custom Networking — An introduction to the Java platform's powerful networking features. The Java Tutorials have been written for JDK 8. Trails Covering the Basics These trails are available in book form as The Java Tutorial, Sixth Edition.

cppreference.com Real World Haskell - O'Reilly Media As a consequence some concepts are not formally explained until later in the book, like Monads. Instead the book shows you how to use Haskell's I/O facilities, without an understanding of Monads, first. For some this approach is probably very practical but I found myself at times wanting the material to be presented in a different order. However, I am still giving this book 5 stars because of the sheer breadth and quality of the content and examples. The first four chapters and chapter six lay the foundation for the rest of the book. After that I was particularly fond of chapters 10, 13,14, 15, 16, 18, and 26, as these chapters explained some of the more advanced concepts I was interested in like Monads, Parsing, and Functional Data Structures. Overall, I learned a ton of new things from reading this book even thought the material is quite challenging in places, and found myself wondering why more people don't use Haskell.

Google C++ Style Guide Definition: Streams are a replacement for printf() and scanf(). Pros: With streams, you do not need to know the type of the object you are printing. You do not have problems with format strings not matching the argument list. (Though with gcc, you do not have that problem with printf either.) Streams have automatic constructors and destructors that open and close the relevant files. Cons: Streams make it difficult to do functionality like pread(). Decision: Do not use streams, except where required by a logging interface. There are various pros and cons to using streams, but in this case, as in many other cases, consistency trumps the debate. Extended Discussion There has been debate on this issue, so this explains the reasoning in greater depth. Proponents of streams have argued that streams are the obvious choice of the two, but the issue is not actually so clear. cout << this; // Prints the address cout << *this; // Prints the contents

Apache Flex Apache Flex, formerly Adobe Flex, is a software development kit (SDK) for the development and deployment of cross-platform rich Internet applications based on the Adobe Flash platform. Initially developed by Macromedia and then acquired by Adobe Systems, Flex was donated by Adobe to the Apache Software Foundation in 2011[1] and promoted to a top-level project in December 2012. Overview[edit] Versions[edit] Macromedia Flex 1.0 and 1.5[edit] Macromedia targeted the enterprise application development market with its initial releases of Flex 1.0 and 1.5. Adobe Flex 2[edit] Adobe significantly changed the licensing model for the Flex product line with the release of Flex 2. Enterprise-oriented services remain available through Flex Data Services 2. Coinciding with the release of Flex 2, Adobe introduced a new version of the ActionScript programming language, known as Actionscript 3, reflecting the latest ECMAScript specification. Adobe Flex 3[edit] Adobe Flash Builder and Flex 4[edit]

learn programming

Related: