Click here to Skip to main content
15,074,668 members
This competition has ended

Best C++ article of December 2013

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.
11 Dec 2013
Mahdi Nejadsahebi
This tip describes how 3D images are converted to 2D images.
1 Dec 2013
Android on Intel
Intel® HTML5 Tools for developing mobile applications
12 Dec 2013
Ted Neward
Parallel processing in Android native code
Please Sign up or sign in to vote.
1 Jan 2014
Monjurul Habib
The hardest single part of building a software system is deciding precisely what to build. Everybody in software development has the same goal: Rapid, Reliable, Low Risk delivery of high-quality, valuable functionality to users. This article will help them to achieve their goal.
Please Sign up or sign in to vote.
15 Dec 2013
David Serrano Martínez
There is no safety in numbers, or in anything else. (James Thurber)
Please Sign up or sign in to vote.
17 Oct 2017
Eric Z (Jing)
I list various array-and-pointer-problems I have heard or encountered.
Please Sign up or sign in to vote.
18 Dec 2013
Joren Heit
A Hybrid Framework Code-Generator for CUDA
Please Sign up or sign in to vote.
20 Feb 2014
Eric Z (Jing)
Sign Extension of C++ Pointer: The cause of NIC’s failure to send packets
Please Sign up or sign in to vote.
13 Dec 2013
dragonfly lee
How to exchange date time between C# and C++
Please Sign up or sign in to vote.
10 Jan 2017
Alasdair Craig
Library for least-squares best-fitting of lines, circles and rotated ellipses
Please Sign up or sign in to vote.
13 Dec 2013
CathalMF
Describes with an example of how you can call C#.NET methods from unmanaged C++ code.
Please Sign up or sign in to vote.
20 Dec 2013
John Bandela
Here is a workaround for type inference with expression templates and proxies
Please Sign up or sign in to vote.
15 Jan 2014
Andrey Grodzovsky
External functions call tracer for executable linked shared libraries
Please Sign up or sign in to vote.
18 Dec 2013
Hari Mahadevan
Describes a C++ class that encapsulates the WaitForMultipleObjects API usage pattern making it easy to integrate it with C++ objects.
Please Sign up or sign in to vote.
24 Nov 2019
Volynsky Alex
This article demonstrates how to start using the "Google C++ Testing Framework" quickly and easily.
Please Sign up or sign in to vote.
14 Dec 2013
Manikandan10
The article describles the differences between compiled and interpreted languages
Please Sign up or sign in to vote.
24 Dec 2013
YvesDaoust
Yet another home-made implementation of the floor function
Please Sign up or sign in to vote.
14 Dec 2015
Gregory Morse
Implementing a complete WRL native C++ XAML blank project template
Please Sign up or sign in to vote.
23 Dec 2013
Paul M Watt
Template meta-programming is the practice of using templates to generate types and functions to perform computations at compile-time and generate programs.
Please Sign up or sign in to vote.
7 Dec 2013
zapsolution
This is a VS2010+ project
Please Sign up or sign in to vote.
26 Aug 2014
bkelly13
Start a class as a thread, made simple
Please Sign up or sign in to vote.
20 Dec 2013
orouit
This article shows how to create a simple C++ class library to properly control a 28BYJ-48 stepper motor using its control board.
Please Sign up or sign in to vote.
20 Dec 2013
zaphoed
An ad hoc solution to mark and track code points in C++
Please Sign up or sign in to vote.
12 Dec 2013
trident99
The SQL Developer Kit, or SQD, is an interface wrapper around the SQLite 3 Database engine.
Please Sign up or sign in to vote.
4 Dec 2013
Mahdi Nejadsahebi
How to query a database file from an MFC application.
Please Sign up or sign in to vote.
26 Mar 2014
Anna Koneva
An article about interoperation issues in mixed C/C++/Objective-C development
Please Sign up or sign in to vote.
19 Dec 2013
Renato Tegon Forti
How to create a new application mode for Boost.Application (0.4) Library
Please Sign up or sign in to vote.
15 Dec 2013
Mahdi Nejadsahebi
This program protects and locks every window in Windows, and encrypts any files even in large volume without any problem.
Please Sign up or sign in to vote.
11 Dec 2013
risunch
NV12 Nearest Neighbor Interpolation scaling and Bilinear Interpolation scaling.
Please Sign up or sign in to vote.
17 Dec 2013
Issam Lahlali
Motivations of choosing C: Git case study
Please Sign up or sign in to vote.
14 Dec 2013
Zac Gery
The topic of perfection is a common discussion at the programming dinner table. Is it good? It is bad? It is healthy? Is it possible? Is it realistic? As expected, a topic with this many questions has a wide variety of entrenched opinions.
Please Sign up or sign in to vote.
11 Dec 2013
Mahdi Nejadsahebi
With this algorithm, we can detect amount and knoll of an arc
Please Sign up or sign in to vote.
2 Oct 2016
Eric Z (Jing)
This tip introduces struct hack and compares it with several implementation alternatives.

Current Participants

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

Alasdair Craig
Software Developer
South Africa South Africa
Capetownian, software developer, land surveyor.
Andrey Grodzovsky
Software Developer (Senior) spielo
Canada Canada
No Biography provided
Android on Intel
United States United States
Intel is inside more and more Android devices, and we have tools and resources to make your app development faster and easier.

Anna Koneva
Russian Federation Russian Federation
No Biography provided
bkelly13
United States United States
No Biography provided
CathalMF
United States United States
No Biography provided
David Serrano Martínez
Systems Engineer
Spain Spain
I work as a senior industrial engineer for Public Administration in Spain. I have experience in developing software for ballistic computations. I like maths and programming and, above all, riding my mountain bike. Contact me at davidalvi (at gmail dot com).
dragonfly lee
United States United States
No Biography provided
Eric Z (Jing)
Technical Lead National Instruments
China China
Senior software engineer at National Instruments, to implement various Ethernet-based industrial protocols, e.g., EtherCAT. Favorite languages are C/C++ and Python. For fun, I like watching films (sci-fi, motion), walking, and various reading.
Gregory Morse
Software Developer (Senior)
United States United States
No Biography provided
Hari Mahadevan
Software Developer IBM
Taiwan Taiwan
Developer with expertise on drivers, daemons and applications, both legacy desktop apps and new age web based apps. My choice of programming languages are C++ & Python and I use Django for web based app development.

When not coding, I do a bit of photography, read stuff and love making my hands greasy.

I live in Taipei, work for IBM and am fluent in Chinese.

The views and opinions expressed in this article are mine and do not necessarily reflect the policy or position of my employer.
Issam Lahlali
Software Developer (Senior)
United States United States
CppDepend lead developer.
John Bandela
Software Developer self employed
United States United States
I started programming in Basic in the 4th grade. In 8th grade, I convinced my parents to buy me Visual C++ 1.0. I discovered I really enjoyed C++, and have been programming in it since. I attended the University of Florida and majored in Computer Science graduating with honors with a 4.0 GPA. I then attending Medical School and obtained my Doctor of Medicine degree.

I have used my computer skills to help me in my medical practice. I also enjoy programming in C++ just for fun, trying to discover new ways of solving problems or applying C++ to new areas. My latest interest has been in creating a component system for C++ allowing components created with 1 compiler to be easily used by another compiler.
Joren Heit
Netherlands Netherlands
No Biography provided
Mahdi Nejadsahebi
Software Developer
Iran (Islamic Republic of) Iran (Islamic Republic of)
No Biography provided
Manikandan10
Student
India India
No Biography provided.
Monjurul Habib
Software Developer (Senior)
Singapore Singapore
A life-long-learner, maker and soft music fan. Likes building things to solve problems. Years of successful records serving mid and large scale .NET applications in domestic and international client environment. Expertise in different areas of software development life cycles and Software Architecture.

Always looks for new technology and loves to get hands dirty Smile | :)
orouit
Architect Connect In Private
Singapore Singapore
Software Architect, COM, .NET and Smartcard based security specialist.

I've been working in the software industry since I graduated in Electrical and Electronics Engineering. I chose software because I preferred digital to analog.

I started to program with 6802 machine code and evolved to the current .NET technologies... that was a long way.

For more than 20 years I have always worked in technical positions as I simply like to get my hands dirty and crack my brain when things don't go right!

After 12 years in the smart card industry I can claim a strong knowledge in security solutions based on those really small computers!
I've been back into business to design the licensing system for the enterprise solution for Consistel using a .NET smart card (yes they can run .NET CLR!)

I'm currently designing a micro-payment solution using the NXP DESFire EV1 with the ACSO6 SAM of ACS. I can then add a full proficient expertise on those systems and NFC payments.
This technology being under strict NDA by NXP I cannot publish any related article about it, however I can provide professional consulting for it.

You can contact me for professional matter by using the forum or via my LinkedIn profile.
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.
Renato Tegon Forti
Systems Engineer
Brazil Brazil
No Biography provided
risunch
China China
I have potential
Ted Neward
Web Developer
United States United States
Ted Neward is an independent consultant specializing in high-scale enterprise systems, working with clients ranging in size from Fortune 500 corporations to small 10-person shops. He is an authority in Java and .NET technologies, particularly in the areas of Java/.NET integration (both in-process and via integration tools like Web services), back-end enterprise software systems, and virtual machine/execution engine plumbing.

He is the author or co-author of several books, including Effective Enterprise Java, C# In a Nutshell, SSCLI Essentials, Server-Based Java Programming, and a contributor to several technology journals. Ted is also a Microsoft MVP Architect, BEA Technical Director, INETA speaker, former DevelopMentor instructor, frequent worldwide conference speaker, and a member of various Java JSRs. He lives in the Pacific Northwest with his wife, two sons, and eight PCs.
trident99
United States United States
No Biography provided
Volynsky Alex
Software Developer
Canada Canada
Mr.Volynsky Alex is a Software Engineer in a leading software company. Alex is skilled in many areas of computer science. He has over 14 years of experience in the design & development of applications using C/C++/STL, Python, Qt, MFC, DirectShow, JavaScript, VBScript, Bash and of course - C#/.NET.

In addition, Alex is the active member of Intel® Developer Zone (he was awarded by Intel® Green Belt for his active contribution to the Intel Developer Zone community for developers using Intel technology).

Alex is also interested in the Objective-C development for the iPad/iPhone platforms and he is the developer of the free 15-puzzle game on the App Store.

Overall, Alex is very easy to work with. He adapts to new systems and technology while performing complete problem definition research.

His hobbies include yacht racing, photography and reading in multiple genres.
He is also fascinated by attending computer meetings in general, loves traveling, and also takes pleasure in exercising and relaxing with friends.

Visit his C++ 11 blog
YvesDaoust
CEO VISION fOr VISION
Belgium Belgium
I fell into applied algorithmics at the age of 16 or so. This eventually brought me to develop machine vision software as a professional. This is Dreamland for algorithm lovers.
Zac Gery
United States United States
Software Developer, Mentor, Architect and UX/UI craftsman. Also, a psychology nut that loves curling.
zaphoed
Software Developer
Switzerland Switzerland
experienced in asm/c/c++/c#. Less experienced in Python, Lua, Shell and stuff like ASP, PHP, HTML ...
coding for windows, macOS, iOS and linux
just4fun: ogre3d
zapsolution
Software Developer zapsolution
France France
I am a low level SDK programmer, focusing mainly on graphic imaging and multimedia applications.
I am using several languages, including C, C++, PowerBASIC, WinDev.
I wrote also a few demos in C#, but i never used DotNET in real code production.

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. Must be an article, or blog entry
  3. With the exception of the overall 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. 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.
  5. Articles entries must follow the CodeProject submission guidelines.
  6. No cheating, lying, plagiarizing articles, chicanery, or kicking.
  7. Authors may only have their article considered for multiple categories if that second category is the Overall monthly category. Under no circumstance will an article be nominated in a second category that is not the Overall monthly category.
  8. No author can be nominated twice in the same category.
  9. 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 article could be nominated in the C# and VB.NET competitions, respectively.
  10. 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.
  11. Multiple votes from the same IP will be automatically disqualified.
  12. The judges’ decision is final and no correspondence will be entered into.
  13. Only those who live in jurisdictions in which this contest is legal may enter.
  14. Any breach of the rules and the prize will be awarded to the runner up.
  15. 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.
  16. 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. Please read the submission requirements before submitting your entry.

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 Dec - 31 Dec 2013