Click here to Skip to main content
14,579,546 members

Best C++ Article of March 2014

This competition has ended

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.

28 Mar 2014
Alex Culea
Shows how to create a window that behaves like a context menu
4 Mar 2014
Melih Mucuk
Configuring and using CocoaPods on iOS projects.
18 May 2014
Paul M Watt
I discussed the merits of selecting a suitable unit test framework for your development project in my previous post. I described the qualities that I found most valuable in the test framework that I use, CxxTest. The qualities are xUnit framework, portability, simplicity, and flexibility.
13 Mar 2014
AshakiranBhatter
Understanding FAT file system and kernel programming in C/C++
11 Dec 2014
Martin Mitáš
Overview of techniques for customizing existing controls.
1 Apr 2014
Kewin Rausch
Here I will show how to emulate Windows Hot Patching and how to use this mechanism to redirect the execution of a custom procedure, in a temporary or permanent way.
29 Mar 2014
Paul M Watt
Byte endianness
14 Jan 2017
trident99
CalcStar is an expandable, fast C++ function evaluator that gives the user the same computational power as a scientific calculator.
25 Mar 2014
hjgode
How to control an air-dryer in your bathroom
14 Mar 2014
mef526
Finding a substring is trivial, but is it a word?
22 Apr 2014
Marco Bertschi
Qt grew up to be a quite adult framework, but is still missing a global named Mutex - Something I fixed with a little trick.
21 Apr 2014
Paulo Zemek
A C++ memory/object pool that's always O(1) for allocations and deallocations.
18 Mar 2014
Ivan Shcherbakov
This article describes how to create and debug a simple device driver on a modern Linux kernel
7 Apr 2014
SOHAM_GANDHI
It is simple video capture application using Windows form with VC++. This project demonstrate, Configuration VC++ for Opencv as well as create windows form application.
7 Mar 2014
_Ravikant Tiwari_
Code Injection - A Generic Approach for 32bit and 64bit Versions
30 Apr 2014
john morrison leon
Introducing smart observers of single owners and the concept of Public and Private scope visibility
12 Mar 2014
Serge Desmedt
A port of CP Vanity to iOS
31 Mar 2014
tgis.top
A short guide for a high performance, flexible, cross-platform memory pool.
25 Mar 2014
Anna Koneva
An article about interoperation issues in mixed C/C++/Objective-C development
7 Mar 2014
Adamanteus
This is an alternative for "License Key Generation"
31 Mar 2014
dorodnic
Step by Step Implementation of Abstract Factory Design Pattern in C++
28 Mar 2014
Romain Gailleton
A presentation on how to extract data from a Type Library (.tlb) and access COM Binary Interface from C++ using Qt
6 Mar 2014
Ilia Glizerin
Manually implement OOP designs in C.
3 Mar 2014
vikrantc1355
C++ Numeric Limits and Template Specialization
20 Mar 2014
Bibhu Dutta
Lately, I was in conversation with our QA lead, which made us realize of an issue that, certainly will cause inconvenience to the end users of the web application on which we are working on. Although the issue is very … Continue reading →
6 Mar 2014
Arkadiusz@inquiry
CRichEditCtrl does not take the return
4 Mar 2014
kanbang
Save/Load Image between buffer
23 Mar 2014
DigitalInBlue
Guidance on C++/C++!1 Parameter Passing
2 Mar 2014
n.podbielski
Safe cast string to enum
16 Mar 2014
Zachary Gardner
This was originally posted on the Keyhole Software blog on 11/25/2013. This is the second blog in a two-part series on scaling PHP applications. The first blog in the series focused on replacing Apache+mod_php with Nginx+PHP-FPM.

Current Participants

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

_Ravikant Tiwari_
Engineer
India India
No Biography provided
Adamanteus
Software Developer LLC "AMS"
Russian Federation Russian Federation
In 1991 year has received senior secondary education and entered in Moscow Economic-statistical Institute, by faculty of Supply mathematics, has studied to 2-nd course with high progress, and left it by own will.

With 1994-1996 years - serviced in army (navy fleet, now sailor of a stock).

Since 1999 year has begun my labour career, with job of computer operator, in department of computer maintenance developing learn-methodical documentation.

Single, on religion - atheist.
Alex Culea
Romania Romania
No Biography provided
Anna Koneva
Russian Federation Russian Federation
No Biography provided
Arkadiusz@inquiry
United States United States
No Biography provided
AshakiranBhatter
Software Developer
United States United States
Ashakiran is from Hyderabad, India and currently working as a Software Engineer in USA. He is a hobbyist programmer and enjoys writing code.
Bibhu Dutta
Software Developer Mindfire Solutions
India India
Software developer, working at Mindfire Solutions, having hands on experience in both Windows and web application using C#, ASP.NET, ASP.NET MVC.
DigitalInBlue
Team Leader
United States United States
John Farrier is a professional C++ software engineer that specializes in modeling, simulation, and architecture development.

Specialties:

LVC Modeling & Simulation
Software Engineering, C++11, C++98, C, C#, FORTRAN, Python
Software Performance Optimization
Software Requirements Development
Technical Project and Team Leadership
dorodnic
Team Leader Intel
Israel Israel
Currently member of Intel RealSense team, maintaining Intel RealSense Cross-platform SDK on GitHub (https://github.com/IntelRealSense/librealsense)
hjgode
Germany Germany
No Biography provided
Ilia Glizerin
Student
Israel Israel
programmer
Ivan Shcherbakov
Founder Sysprogs UG (haftungsbescrhänkt)
Germany Germany
Ivan Shcherbakov is a cofounder of the Sysprogs UG (haftungsbeschränkt), the company developing custom software, drivers and firmware and delivering VisualGDB - a Visual Studio plugin that allows using Visual Studio to build applications with GCC and debug them with GDB.

The main goal of VisualGDB is to combine the time-saving Visual Studio debugging experience with the wide application range of GDB, such as Linux applications and Embeddeed firmware.

A special Android Edition of VisualGDB allows building and debugging native Android code with Visual Studio easily and smoothly.
john morrison leon
Software Developer (Senior)
Spain Spain
I love writing algorithms and creating infrastructures that solve problems and work with a lot of graphical visualisation if only to make sure that I can see it is all working properly. I do all of the serious work in C++.
kanbang
China China
No Biography provided
Kewin Rausch
Software Developer
Italy Italy
I'm a Software Engineer with deep and extended knowledge in Computer Networks and low level environments as kernels and drivers. My competencies span from classic Wired IP networks to Wireless technologies like WiFi and 4G LTE. In the past I dealt with Next Generation Protocols, that requires to rethink internetworking from its core basis and requires to apply a clean slate approach on the current packet-based networks. In the lasts years my competencies grown towards the Computer Security world, from Cryptographic protocols to more practical strategies used to deal with the malware present in the wild.

My core competencies are C/C++ and Assembly programming languages, in both user- and kernel-space, together with an problem-solving oriented mindset and huge imagination to develop alternative approach to deal with them.
Marco Bertschi
Software Developer
Switzerland Switzerland
I'm a young Software Engineer. Whilst I may accept a 'status quo' as given, it's my responsibility to improve it as soon as the opportunity arises.
Very familiar with the .Net framework since it has been the underlying foundation for most of my professional work so far. I'm that kind of guy who gets stuff done, while I may also improve the way things work whilst I'm at it. Generally can get along well with most people I meet as a professional.
Fervent volunteer firefigter, captain-ranked air force militia spec officer.
Great friend and generally nice to have me around - For a talk, a beer, or a bonfire (I might as well do all of those things combined). Oh, and I really love music - Rock & country that is, mostly.
Martin Mitáš
Team Leader
Czech Republic Czech Republic
No Biography provided
mef526
Software Developer (Senior) Independant Software Developer
United States United States
No Biography provided
Melih Mucuk
Software Developer NoMad Commerce
Turkey Turkey
Melih Mucuk

Software & Mobile App Developer

Visit my blog: http://melihmucuk.com
n.podbielski
Software Developer
Poland Poland
No Biography provided
Paul M Watt
Engineer
United States United States
I am a software architect and I have been developing software for nearly two decades. Over the years I have learned to value maintainable solutions first. This has allowed me to adapt my projects to meet the challenges that inevitably appear during development. I use the most beneficial short-term achievements to drive the software I develop towards a long-term vision.

C++ is my strongest language. However, I have also used x86 ASM, ARM ASM, C, C#, JAVA, Python, and JavaScript to solve programming problems. I have worked in a variety of industries throughout my career, which include:
• Manufacturing
• Consumer Products
• Virtualization
• Computer Infrastructure Management
• DoD Contracting

My experience spans these hardware types and operating systems:
• Desktop
o Windows (Full-stack: GUI, Application, Service, Kernel Driver)
o Linux (Application, Daemon)
• Mobile Devices
o Windows CE / Windows Phone
o Linux
• Embedded Devices
o VxWorks (RTOS)
o Greenhills Linux
o Embedded Windows XP

I am a Mentor and frequent contributor to CodeProject.com with tutorial articles that teach others about the inner workings of the Windows APIs.

I am the creator of an open source project on GitHub called Alchemy[^], which is an open-source compile-time data serialization library.

I maintain my own repository and blog at CodeOfTheDamned.com/[^], because code maintenance does not have to be a living hell.
Paulo Zemek
Software Developer (Senior) Niantic
United States United States
I started to program computers when I was 11 years old, as a hobbyist, programming in AMOS Basic and Blitz Basic for Amiga.
At 12 I had my first try with assembler, but it was too difficult at the time. Then, in the same year, I learned C and, after learning C, I was finally able to learn assembler (for Motorola 680x0).
Not sure, but probably between 12 and 13, I started to learn C++. I always programmed "in an object oriented way", but using function pointers instead of virtual methods.

At 15 I started to learn Pascal at school and to use Delphi. At 16 I started my first internship (using Delphi). At 18 I started to work professionally using C++ and since then I've developed my programming skills as a professional developer in C++ and C#, generally creating libraries that help other developers do their work easier, faster and with less errors.

Want more info or simply want to contact me?
Take a look at: http://paulozemek.azurewebsites.net/
Or e-mail me at: paulozemek@outlook.com

Codeproject MVP 2012, 2015 & 2016
Microsoft MVP 2013-2014 (in October 2014 I started working at Microsoft, so I can't be a Microsoft MVP anymore).
Romain Gailleton
Engineer
France France
No Biography provided
Serge Desmedt
Software Developer (Senior)
Belgium Belgium
No Biography provided
SOHAM_GANDHI
Software Developer
India India
I am Soham Gandhi from India. I studied BE in Information Technology at University of Pune. (www.unipune.ac.in). I have been learning OpenCV, Enjoying it.
My research interest in Image Processing, Artificial Intelligence, Security Systems, Security Metrics. I work on OpenCV, EmguCV, Visual Studio 2008/10, Java platform.

Home Page (Blog)


You Tube Channel
tgis.top
Software Developer
China China
No Biography provided
trident99
United States United States
No Biography provided
vikrantc1355
Software Developer Yahoo
India India
No Biography provided
Zachary Gardner
Software Developer Keyhole Software
United States United States
No Biography provided

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.

Eligibility

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 Mar - 31 Mar 2014