Click here to Skip to main content
15,941,828 members
This competition has ended

Best C++ Article of July 2014

Contribute to CodeProject and you'll automatically be in the running for a monthly prize!

Each month at CodeProject we gather together the best of the articles submitted the previous month and ask our readers to choose the best of the best. Entry is automatic - just submit you articke and we'll do the rest.

Check out the submission guidelines for information on posting articles.

Current Entries

Articles that match the contest criteria are automatically entered.

Please Sign up or sign in to vote.
10 Jul 2014_Flaviu
A small guide to use VTK in MFC
Please Sign up or sign in to vote.
24 Jul 2014techcap
Caution when using "yield return"
Please Sign up or sign in to vote.
9 Jul 2014Bartlomiej Filipek
Description about my simple OpenGL renderer for the particle system
Please Sign up or sign in to vote.
21 Jul
C++ is a vast language. Now the language is even more beautiful and exciting and evolving. With Microsoft and Apple backing it up it has a lot of potential. In these series we will talk about C++ in general, different features and some internals of C++. I will be using the llvm/Clang compiler tool c
Please Sign up or sign in to vote.
21 Jul
In this chapter we will deal with class, structures and objects. So class or struct is the keywords we use to create a class in C++. The class can hold static, non static member variables. Class can contain static, non static and virtual member functions.
Please Sign up or sign in to vote.
25 Jul 2014Thomas Maierhofer (Tom)
TinyMCE additional HTML elements
Please Sign up or sign in to vote.
14 Jul 2014Hadi Brais
Dissecting the C++ STL vector: Part 1 - introduction
Please Sign up or sign in to vote.
30 Jul 2014David Corne
This post is an introduction to a library I have written, UnitC++.
Please Sign up or sign in to vote.
22 Jul 2014Keyhole Software
I have had the opportunity to work with SignalR over the last 6 months and I really like how easy it was to set up and get working. It has opened my eyes to a lot of possibilities for web projects. I’ll do my best to explain the technology as I’ve been exposed to it. What […]
9 Jul 2014SoftPerfect Research
Introduction in the File System Notification Kit (FSNK) product for monitoring file system activity in real-time.
9 Jul 2014SoftPerfect Research
Virtual Volume Software Development Kit (VV SDK) is a developer’s toolkit for creating virtual disks.
Please Sign up or sign in to vote.
22 Jul 2014Alejandro Gaio
A client-tracking solution for a session-less WCF web service
25 Jul 2014Mat Hopwood
Fragmentation is bad for business and mobile game development is a very fragmented business that is ripe with pitfalls and difficulties. This article outlines these factors and explains how developers are able to overcome them, cutting costs and without the need for compromise.
Please Sign up or sign in to vote.
15 Jul 2014Dan Hu
Automatic Dump collection and Analysis
Please Sign up or sign in to vote.
17 Jan 2021David O'Neil
My DWinLib Windows API wrapper combined with Francisco Campos's Pretty WinAPI framework
Please Sign up or sign in to vote.
18 Jul 2016Sébastien Jodogne
This article explains how to create a basic WADO server to provide Web access to DICOM images. The WADO server is implemented as a plugin for Orthanc, a lightweight DICOM store.
Please Sign up or sign in to vote.
25 Jul 2014Nish Nishant
The article goes through sevean language and IDE features in the VS 14 CTP 2 that are specific to C++ development
Please Sign up or sign in to vote.
21 Jul 2020Hans
Just for fun, a Conway's Game of Life application with many features using MFC Direct2D classes
Please Sign up or sign in to vote.
13 Jul 2014Michael Haephrati
How to develop a tool that will adjust mistaken date and time of multiple files, photos or videos
Please Sign up or sign in to vote.
31 Jul 2014Michael Gazonda
A Fundamental Lock-Free Building Block - The Lock-Free Stack
Please Sign up or sign in to vote.
29 Jul
A gentle introduction to android.
Please Sign up or sign in to vote.
24 Jul 2014Meena Chockalingam
Understanding LIST_ENTRY lists and CONTAINING_RECORD macro which are used in Windows Kernel
Please Sign up or sign in to vote.
20 Jan 2024Ștefan-Mihai MOGA
The article discusses the concept of cryptography and its application in ensuring data security.
Please Sign up or sign in to vote.
24 Jul 2015webmaster442
A mini howto on using bass.dll & wrapper.
Please Sign up or sign in to vote.
25 Jul 2014Mohammad_Hamad
Using the Function Pointer inside C struct
Please Sign up or sign in to vote.
22 May 2016Ryan Scott White
CppHeader2CS: A compile-time tool for converting C/C++ header constants, enums, and structures to C#.
Please Sign up or sign in to vote.
30 Jul 2014_Maxxx_
A step-by-step beginners guide to setting up a development environment to write games using Cocos2d-X 3.2 on a Mac
Please Sign up or sign in to vote.
18 Jul 2014Vasily Tserekh
How to write your own HTML content into any webpage through BHOs in C++
Please Sign up or sign in to vote.
21 Feb 2024Ștefan-Mihai MOGA
You can use IntelliPort to transfer large files from a computer onto your portable computer using a serial port rather than going through the process of setting up your portable computer on a network.
Please Sign up or sign in to vote.
13 Jul 2014Amogh Natu
This tip shows how to parse JSON response received from a web service into an NSDictionary object.
Please Sign up or sign in to vote.
11 Dec 2016Ștefan-Mihai MOGA
Did you spot any bugs today? Than this tool might save some of your time
Please Sign up or sign in to vote.
10 Jul 2014Dr. Song Li
This is a study note on debugging a remotely running Java application from Eclipse.
Please Sign up or sign in to vote.
27 Jul 2014Rakesh Waghulde
This will show the simple and useful way to implement Banker's algorithm in managing & scheduling projects,their resources & to give effective solution.
Please Sign up or sign in to vote.
11 Aug 2014Andy Bantly
Using a portion of Google's C++ testing framework to compare doubles
Please Sign up or sign in to vote.
31 Jul 2020Chinmoy Mohanty
How to use JSON in an ASP.NET application over a REST service using WebApi
Please Sign up or sign in to vote.
25 Jul 2014Mohamed Taman
Understanding lambda expressions....This article of the “Java SE 8 new features tour” series will deep dive into understanding Lambda expressions. I will show you a few different uses of Lambda Expressions. They all have in common the implementation of functional interfaces.
Please Sign up or sign in to vote.
15 Jul 2014Leslie Godwin
The UISwitch's UIControlEventValueChanged event is pretty useless if you'd like to get a notification only when the switch value actually changes.
Please Sign up or sign in to vote.
8 Jul 2014EngDRJ
An finite state menu implemented using multiple linked-lists and function pointers in C for use with embedded programming.

Current Participants

Those with articles that match the contest criteria are automatically entered.

Software Developer (Senior) Devo
Australia Australia
Software developer par excellence,sometime artist, teacher, musician, husband, father and half-life 2 player (in no particular order either of preference or ability)
Started programming aged about 16 on a Commodore Pet.
Self-taught 6500 assembler - wrote Missile Command on the Pet (impressive, if I say so myself, on a text-only screen!)
Progressed to BBC Micro - wrote a number of prize-winning programs - including the best graphics application in one line of basic (it drew 6 multicoloured spheres viewed in perspective)
Trained with the MET Police as a COBOL programmer
Wrote platform game PooperPig which was top of the Ceefax Charts for a while in the UK
Did a number of software dev roles in COBOL
Progressed to Atari ST - learned 68000 assembler & write masked sprite engine.
Worked at Atari ST User magazine as Technical Editor - and was editor of Atari ST World for a while.
Moved on to IBM Mid range for work - working as team leader then project manager
Emigrated to Aus.
Learned RPG programming on the job (by having frequent coffee breaks with the wife!!)
Moved around a few RPG sites
Wrote for PC User magazine - was Shareware Magazine editor for a while.
Organised the first large-scale usage of the Internet in Australia through PC User magazine.
Moved from RPG to Delphi 1
Developed large applications in Delphi before moving on to VB .Net and C#
Became I.T. Manager - realised how boring paper pushing can be
And now I pretty much do .Net development in the daytime, while redeveloping PooperPig for the mobile market at night.
Romania Romania
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Argentina Argentina
I'm a managing partner of NoobitAR, a new software company based in Buenos Aires, Argentina. I'm always willing to learn new technologies, in order to improve our products, to help colleagues and customers with their challenges, and to contribute with the community based on my own experiences.
As a hobby, I produce electronic music, and practice martial arts (sipalki and muay thai).
Software Developer
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer
Poland Poland
Software developer interested in creating great code and passionate about teaching.

Author of C++17 In Detail - a book that will teach you the latest features of C++17!

I have around 11 years of professional experience in C++/Windows/Visual Studio programming. Plus other technologies like: OpenGL, game development, performance optimization.

In 2018 I was awarded by Microsoft as MVP, Developer Technologies.

If you like my articles please subscribe to my weekly C++ blog or just visit
India India
I like to explore different aspects of technology. Try new things, and get delighted. My interests are programming language, and Imaging. But its not hard to work on other things also. Algorithms delight me over a coffee break.

I basically code in C++, but JAVA is not so alien for me. I know few scripting languages also. Basically I feel that knowing a programing language is just a matter of getting introduced to it.

For my other articles check my blog on homepage: - SMISRA
Software Developer
United States United States
I am a Developer working across multiple Technologies like .NET, Scala, Angular and NodeJS.
Passionate about WEB technologies more than anything.
Fascinated about the idea of how the WEB world and the WinForm world are slowly merging into each other, with a very thin line to differentiate them.

I am an active blogger and I blog mostly about Technology. Also, I have presented at certain points in the past on technical topics.

My Blog

Life & Tech

Programming Community Profiles

Stack Overflow



Social Profiles

Facebook | Twitter | LinkedIn | Google+
Software Developer (Senior)
China China
Domain and interests include Windows system programming, network programming, high co-currency server, debugging skill, Microsoft technology integration, cloud computing.
Software Developer
United Kingdom United Kingdom
I am a C++ developer with a strong interest in Python, C#, and Qt. I work on a native C++ application which uses COM to call C# in order to use a WPF GUI.

While I develop an application using WPF exclusivly for windows, I am a big linux user. My favourite distro at the moment is Linux Mint, and I love the delights of the command line,.

If you've read something of mine and you enjoyed it, check out my blog.

I am also active on various other sites, listed below.

Coding Sites

  • BitBucket where I keep the majority of my projects.
  • GitHub where I have a few older projects. This includes my current long term project, I'm writing a book about design patterns in python. Find the repository here and blog posts about individual patterns here
  • Stackoverflow I'm not too active on stackoverflow, I'm more of a listener.
  • coderwall and coderbits two profile compilation websites.

Social Sites

Software Developer
United States United States
I am the author of Laughing at the Devil: One Man’s Religious Discoveries. If you want to understand the astronomic investigations of our priests 3,000 years ago, LATD is the book to turn to. It opens up the thoughts that pushed them away from their earlier polytheism and towards our current definition of God.

Trained as a mechanical engineer, I have been involved with design, supervision, and project management. I taught myself C++ programming in order to play around with binaural beats more easily. I've also created various databases to help with project management and personal tasks.

Databases are cool and extremely useful! Happy coding, everybody!
United States United States
I have been working in the IT industry for some time. It is still exciting and I am still learning. I am a happy and honest person, and I want to be your friend.
Software Developer
Russian Federation Russian Federation
Want to contribute my CodeProject articles and tips? Write my e-mail:
South Africa South Africa
I am a student who first scripted in SQL in 2012, then moved on to VB, C, basics of c++, C#, WPF, HTML, CCS, Java script, MVC, Delphi, MySql and PHP. At the same time studying electronic engineering and as you can imagine I have little to no free time. I enjoy the fields of machine learning and always like to do the things I shouldn't be doing, yet.
Syrian Arab Republic Syrian Arab Republic
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Germany Germany
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Keyhole Software
United States United States
Keyhole is a software development and consulting firm with a tight-knit technical team. We work primarily with Java, .NET, and Mobile technologies, specializing in application development. We love the challenge that comes in consulting and blog often regarding some of the technical situations and technologies we face. Kansas City, St. Louis and Chicago.
This is a Organisation

3 members
Technical Lead FNB Connect
South Africa South Africa
iOS Technical Lead at FNB

Computers are really sweet. Aren't they?
Yup they are...

I've always loved writing tools and components...never been very interested in playing games....always wanted to be able to write them though.

And, yes. I'm still pretty annoyed they discontinued the Amiga computer.
United Kingdom United Kingdom
Mat is Senior Software Engineer for Marmalade Technologies Ltd. He has worked in the games industry as a game and gaming technology developer for over 20 years on a huge range of 2D and 3D games, game engines and development tools across different platforms.
Software Developer
United States United States
My name is Meena. I am a Computer Science grad student at Georgia Institute of Technology. I like talking about distributed systems, sustainable living and interactive intelligence.
Architect Zed Mind
Canada Canada
I love writing good code, and am currently spending my time working on a project I love.

I'm a yoga teacher, and enjoy the outdoors which I never seem to get enough of. Hopefully soon...

If you'd like, you can connect with me on Facebook.
CEO Secured Globe, Inc.
United States United States
Michael Haephrati is a music composer, an inventor and an expert specializes in software development and information security, who has built a unique perspective which combines technology and the end user experience. He is the author of a the book Learning C++ , which teaches C++ 20, and was published in August 2022.

He is the CEO of Secured Globe, Inc., and also active at Stack Overflow.

Read our Corporate blog or read my Personal blog.

Architect efinance
Egypt Egypt
A Systems Architect, Java team leader, and consultant with around 12+ years’ experience in projects architecture, manages department team, projects deadlines, delivery times, capacity plans, and resource planning in case of concurrent projects / change requests development. Consultant / Architect for startup companies.

Graduated with B.Sc in computer systems engineering, major Electrical Engineering.

A JCP & EC (Executive committee) member at Java Community Process Organization. JSR 358, 354, 364, & 363 Expert Group, and Working on many JSRs especially Java EE 7, 8 umbrella JSRs / Glassfish 4 evaluation and testing, and a member of Adopt-A-JSR, Adopt-OpenJDK, and FishCAT programs.

Member of MoroccoJUG and EGJUG Leader, Founder of JCP activities program group of EGJUG. Won the 11 annual JCP awards 2013 for Outstanding adopt-a-JSR participant.

An Oracle Egypt Architects Club board member, with responsibility to define and put the correct architecture reference solutions for Oracle customer's projects in EMEA.

Founder and Manager of efinance Mobile R&D and development department, after 6 months of R&D I came up with Banzenty mobile application on many platform.

More on
Software Developer
Germany Germany
Seek knowledge from the cradle to the grave
United States United States
Nish Nishant is a technology enthusiast from Columbus, Ohio. He has over 20 years of software industry experience in various roles including Chief Technology Officer, Senior Solution Architect, Lead Software Architect, Principal Software Engineer, and Engineering/Architecture Team Leader. Nish is a 14-time recipient of the Microsoft Visual C++ MVP Award.

Nish authored C++/CLI in Action for Manning Publications in 2005, and co-authored Extending MFC Applications with the .NET Framework for Addison Wesley in 2003. In addition, he has over 140 published technology articles on and another 250+ blog articles on his WordPress blog. Nish is experienced in technology leadership, solution architecture, software architecture, cloud development (AWS and Azure), REST services, software engineering best practices, CI/CD, mentoring, and directing all stages of software development.

Nish's Technology Blog :
Software Developer
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Help desk / Support
United States United States
Ryan White is an IT Coordinator, currently living in Pleasanton, California.

He earned his B.S. in Computer Science at California State University East Bay in 2012. Ryan has been writing lines of code since the age of 7 and continues to enjoy programming in his free time.

You can contact Ryan at s u n s e t q u e s t -A-T- h o t m a i l DOT com if you have any questions he can help out with.
Team Leader VF
Pakistan Pakistan
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Belgium Belgium
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Australia Australia
SoftPerfect Research is a small software development company located in Brisbane, Australia. Established in 2000, we specialise in producing Windows network management applications for businesses and individuals. In 2013 we added two developer SDKs in our portfolio, with VV SDK being one of them.
Software Developer NXP Semiconductors
Romania Romania
My professional background includes knowledge of analyst programmer for Microsoft Visual C++, Microsoft Visual C#, Microsoft Visual Basic, Sun Java, assembly for Intel 80x86 microprocessors, assembly for PIC microcontrollers (produced by Microchip Inc.), relational databases (MySQL, Oracle, SQL Server), concurrent version systems, bug tracking systems, web design (HTML5, CSS3, XML, PHP/MySQL, JavaScript).
Web Developer
Korea (Republic of) Korea (Republic of)
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Germany Germany
I'm a Senior Software Consultant
Thomas Maierhofer Consulting
Software Developer
United States United States
Born on 86, had my first computer at the age of 8, wrote my first code at the age of 15(pascal), began to study software engineering at 2005 and graduated in 2010. I have a dev blog My real passion is 3D game programming and playing guitar. I've programmed stuff in C#, python, Delphi, PHP, C++, JS, QT and others...
Hungary Hungary
Been interested in computers & electronics since I got my NES, eventually became a Computer engineer, now a Software Architect

Contest Entries and Requirements

  1. The contest period covers the the first day of the month 12AM US Eastern Standard Time and ends the final day of the month at 11:59:59 PM US Eastern Standard Time. All entries must be submitted during this period in order to qualify.
  2. Entries must be an article, or blog entry.
  3. With the exception of the Everything Else category, the article must be tagged with at least one of the tags corresponding to that competition's category (for example, to enter the C# Competition you would need to tag your article with a C# tag).
  4. Articles entries must follow the CodeProject submission guidelines.
  5. No cheating, lying, plagiarizing articles, chicanery, or kicking.
  6. Articles may only be considered for a single category. If an article is eligible for multiple categories (for example, it pertains to both the C# and Web Dev categories), CodeProject editors and judges will decide which category the article shall be entered in.
  7. No author can be nominated twice in the same category.
  8. If an author writes has two separate articles, each article may be considered in their respective categories provided none of the aforementioned rules are broken. For example, if an author wrote two separate articles, one related to C# and one related to VB.NET, the author and articles could be nominated in the C# and VB.NET competitions, respectively.
  9. In the event an author wins multiple competitions, and repeat, identical prizes, the number of prizes issued is solely at the discretion of the prize issuer.
  10. Multiple votes from the same IP will be automatically disqualified.
  11. The judges’ decision is final and no correspondence will be entered into.
  12. Only those who live in jurisdictions in which this contest is legal may enter.
  13. Any breach of the rules and the prize will be awarded to the runner up.
  14. By entering the contest you agree to the rules, conditions of entry, and agree that your member alias and any submitted material can be used for promotional purposes by CodeProject.
  15. Entries shall be deemed to be submitted by the authorized account holder of the email address submitted at the time of entry unless clearly indicated otherwise. "Authorized account holder" is defined as the natural person who is assigned to an email address by an internet access provider, on-line service provider, or other organization (e.g. business, educational institution, etc.) that is responsible for assigning email addresses for the domain associated with the submitted email address.


This competition is open to software development professionals & enthusiasts who are of the age of majority in their jurisdiction of residence; however, residents of Quebec and of the following countries are ineligible to participate due to legal constraints: Cuba, Iran, Iraq, Libya, North Korea, Sudan, and Syria. Employees (or a member of their immediate family) of CodeProject or any of their affiliates, subsidiaries, advertising or promotional agencies are also ineligible to participate. Void where prohibited by law.

How to Enter

Entry is by the submission process described above. Please read the submission requirements before submitting your entry and ensure the article is tagged with at least one of the tags corresponding to that competition's category.

Lost, late, misdirected, or illegible entries will be disqualified. Any entry containing content that CodeProject deems objectionable for any reason will be disqualified. All decisions of CodeProject with respect to any aspect of the competition, including, without limitation, the eligibility of entries, are final and binding on all entrants in all matters as they relate to this competition. CodeProject reserves its right to modify the Rules.

CodeProject assumes no responsibility for lost, late, delayed, destroyed or misdirected mail, voice messages, email or any computer errors or malfunctions. No correspondence will be entered into with entrants.

CodeProject does not assume any responsibility for incorrect or inaccurate capture of entry information, technical malfunctions, human or technical error, lost, delayed or garbled data or transmissions, omission, interruption, deletion, defect or failures of any telephone or computer line or network, computer equipment, software or any combination thereof. Entry materials/data that have been tampered with or altered are void. If for any reason, in the opinion of CodeProject in its sole discretion, the competition is not capable of running as originally planned, or if the administration, security, fairness, integrity or the proper conduct of the competition is corrupted or adversely affected, including by reason of infection by computer virus, bugs, tampering, unauthorized intervention, fraud, technical failures or any other causes beyond its control, CodeProject reserves its right to cancel, terminate, modify, amend, extend or suspend the competition including cancelling any method of entry, and select a winner from previously received eligible entries. CodeProject reserves its right in its sole discretion to disqualify any individual it finds to be tampering with the entry process or the operation of the competition or to be acting in violation of the Rules or otherwise in a disruptive manner. CodeProject reserves its right to seek remedies and damages to the fullest extent of the law for any attempts to deliberately damage the competition web site or to undermine the legitimate operation of this competition. CodeProject shall not be held responsible for any errors or negligence that may arise or occur in connection with the competition including any damage to an entrant's computer equipment, system, software or any combination thereof, as a result of their participation in this competition or from downloading any material from the competition website where applicable.

You must sign in to participate in this contest.
This contest has ended.
1 Jul - 31 Jul 2014