﻿# Collection of interesting resources on C/C\+\+ programming

I constantly study the Web regarding new articles on C/C\+\+/C\+\+11 programming\. If I find them interesting, I post links to them in twitter @Code\_Analysis, on Reddit /r/Viva64 and like them on StumbleUpon\. If you are present on one of these websites, I invite you to follow me\. You will find a lot of interesting articles in time\. To get you interested, I decided to create a small selection of materials\.

First of all, of course, I would like to recommend you our viva64\.com website\. There you can find a lot of [articles](https://pvs-studio.com/en/blog/posts/) and [blog posts](https://pvs-studio.com/en/blog/posts/) regarding development of quality code\. For example, I invite you to see [28 lessons](https://pvs-studio.com/en/blog/lessons/) on developing 64\-bit software in C/C\+\+\.

For the purpose of convenience I have arranged the links into several subjects\. Enjoy reading\.

_Note\._ Usually we wrap links to manage their integrity\. I wrote about this brave fight against chaos in the article "[d'Artagnan and Internet, or working on the problem of bad links](https://pvs-studio.com/en/blog/posts/0075/)"\. Unfortunately, I will give direct links this time\. These materials will significantly enlarge the link base, which means that we will have much work to do in case the articles are moved\.

## C\+\+ as large as life

* A large list of famous projects developed in C/C\+\+: C\+\+ Applications\. How can anyone say that C\+\+ is becoming extinct after that?
* Computer Language Benchmarks Game\. As usual, Fortran, C and C\+\+ languages are the leaders regarding performance\. And it will hardly change in the nearest future\. If you are developing resource\-intensive software, the C\+\+ language will be most probably the best choice\.
* [Why is C\+\+ still a very popular language in quantitative finance?](https://quant.stackexchange.com/questions/1764/why-is-c-still-a-very-popular-language-in-quantitative-finance)
* [9 reasons to start using C\+\+11](http://cpprocks.com/9-reasons-to-start-using-c11/)

## Interesting blogs

* [Steve Hanov's Blog](http://stevehanov.ca/blog/)
* [Visual C\+\+ Team Blog](https://devblogs.microsoft.com/cppblog/)
* [The Old New Thing](https://devblogs.microsoft.com/oldnewthing/)

## Floating\-point arithmetic

* [Tricks With the Floating\-Point Format](https://randomascii.wordpress.com/2012/01/11/tricks-with-the-floating-point-format/)
* [Stupid Float Tricks](https://randomascii.wordpress.com/2012/01/23/stupid-float-tricks-2/)
* [Comparing Floating Point Numbers](https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/), 2012 Edition

## Various programming tricks

* [Bit Twiddling Hacks](http://graphics.stanford.edu/~seander/bithacks.html)
* [Table\-driven methods with no relocations](https://macieira.org/blog/2011/07/table-driven-methods-with-no-relocations/)
* [Cool C Tricks](https://web.archive.org/web/20160304013819/http:/www.endofunctor.org/~rpearl/blog/cool-c-tricks.html)

## Character encoding and control characters

* [Unicode, UTF\-8 and all that](https://triptico.com/docs/unicode.html): An intentionally incomplete character set introduction for hasty C programmers
* [Control character](https://en.wikipedia.org/wiki/control_character)
* The [UTF\-8 Everywhere](https://utf8everywhere.org/) manifesto

## Coding standards

* [Google C\+\+ Style Guide](https://google.github.io/styleguide/cppguide.html)
* CERT\. [C Secure Coding Standard](https://wiki.sei.cmu.edu/confluence/display/c/sei+cert+c+coding+standard) 

## Groups

* Reddit: [Cpp](https://www.reddit.com/r/cpp/), [C\_Programming](https://www.reddit.com/r/c_programming/)\.
* Facebook: [C\+\+ Programming](https://www.facebook.com/groups/cppprogramming/), [For the love of C\+\+](https://www.facebook.com/groups/4200526117/), [C Programming](https://www.facebook.com/groups/11366002065/), [Visual C\+\+ Developer](https://www.facebook.com/groups/2248174480/), [C Plus Plus \(C\+\+\)](https://www.facebook.com/groups/2204920930/)
* LinkedIN: [C\+\+ Community Group](http://www.linkedin.com/groups?home=&gid=100895&trk=anet_ug_hm), [C\+\+ Developers Forum](http://www.linkedin.com/groups?home=&gid=100895&trk=anet_ug_hm), [C\+\+ Developers Group](http://www.linkedin.com/groups?home=&gid=100895&trk=anet_ug_hm), [C\+\+ Professionals](http://www.linkedin.com/groups?home=&gid=100895&trk=anet_ug_hm)

## Miscellaneous

* [What's Wrong With GNU make?](http://www.conifersystems.com/whitepapers/gnu-make/)
* Why strncpy is no safer than strcpy: [strncpy? just say no](https://blog.liw.fi/posts/strncpy/)
* A Guide to Undefined Behavior in C and C\+\+\. Part [N1](https://blog.regehr.org/archives/213), [N2](https://blog.regehr.org/archives/226), [N3](https://blog.regehr.org/archives/232)
* [Windows Data Alignment on IPF, x86, and x64](https://www.microsoft.com/en-us/download/details.aspx?id=55979)
* [Translate](https://cdecl.org/) C declaration
* [Arbitrary Data Sizes with C](https://dashmorethan.wordpress.com/2012/03/26/arbitrary-data-sizes/)