Click here to Skip to main content
15,881,248 members
This competition has ended

Best C++ Article of December 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.
7 Dec 2014MrSmersh
The first part of a series about Galileo running Windows and IoT.
Please Sign up or sign in to vote.
30 Nov 2014David O'Neil
I needed an 'Update' solution for a project, and modified Geert van Horrik's 'Updater' to do so. This is the solution in Visual Studio Community Edition
Please Sign up or sign in to vote.
22 Dec 2014TyrWang
Use CResizeWnd as an add-on to any dialog
Please Sign up or sign in to vote.
10 Dec 2014Dmitriy Kozlov
How to display dashboard on SharePoint Public Site in Office 365
Please Sign up or sign in to vote.
29 Dec 2014Mario Vernari
This post follows my first one on Internet-of-Things telemetry project based on Azure.
Please Sign up or sign in to vote.
12 Dec 2014Alexander Golde
Meta Programming is a concept that dates back to languages such as LISP or Smalltalk. The term is used for programs that write or modify other programs – or perform operations on themselves.
Please Sign up or sign in to vote.
18 Dec 2014hjgode
This is an update to my btPrint4 Android application.
5 Dec 2014Michael Coppock
At GDC 2014, Microsoft announced stunning news for PC Gaming in 2015—the next iteration of Direct3D, version 12. D3D 12 returns to low level programming; it gives more control to game developers and introduces many new exciting features.
5 Dec 2014TERENCE S
The Intel SDK for OpenCL Applications provides a rich mix of OpenCL extensions and optional features that are designed for developers who want to utilize all resources available on Intel CPUs. This article focuses on device fission, available as a feature in this SDK.
10 Dec 2014matthias-hahn
This sample application was developed to showcase the use of a proximity sensor with the Intel® Galileo development board.
Please Sign up or sign in to vote.
9 Dec 2014Grasshopper.iics
All about working with with Sensors, Actuators and Other Hardware With Arduino
Please Sign up or sign in to vote.
12 Jan 2015Dan Thyer
I built my own Internet of Things, IoT, home automation system that is controlling 30 different things with 4 different types of microcontrollers with nearly 150 commands. This article talks about IoT design patterns and the lessons learned from the design patterns that I have used.
Please Sign up or sign in to vote.
13 Jan 2015Naren Neelamegam
A complete walk through on IoT Device programming, Web Service programming and IoT Client programming.
Please Sign up or sign in to vote.
25 Dec 2014Kewin Rausch
How to add obfuscation at binary level to protect your technology
Please Sign up or sign in to vote.
28 Dec 2014Akos Mattiassich
Find a window on the desktop, spy its properties and manipulate it.
Please Sign up or sign in to vote.
11 Dec 2014Martin Mitáš
Few techniques for getting rid of customized-control-specific code from parent window procedure.
Please Sign up or sign in to vote.
16 Dec 2014Bartlomiej Filipek
Several examples of beautiful code made up of algorithms from the C++ standard library. Heavily uses modern C++.
Please Sign up or sign in to vote.
14 Dec 2014Marius Bancila
Experiences and recommendations from modernizing legacy C++ code using C++11/14
Please Sign up or sign in to vote.
28 Dec 2014Michael Gazonda
Have you ever been working with templates or constexpr and wanted to run a loop? Or maybe you have a loop you'd like to unroll and see if your program will run faster? Welcome to static_for.
Please Sign up or sign in to vote.
2 Dec 2014Vidyasagar Machupalli
C#, Web API: HTTP GET with a Request Body
Please Sign up or sign in to vote.
28 Dec 2014Prava-MFS
As we all know about CSS (Cascading Style Sheets) is a language used for styling the web pages written in HTML, XML or XHTML. In CSS, selectors play a vital role to declare which part of the web page, the style applies to and it is done by matching the tags or attributes present in […]
Please Sign up or sign in to vote.
1 Dec 2014Francis Xavier Pulikotil
Immutable, non-owning, efficient views over all or part of existing arrays and strings.
Please Sign up or sign in to vote.
6 Dec 2014MrSmersh
The second part (concerning a new Galileo Windows connected (at last) application) to a series of articles about Galileo running Windows and IoT.
Please Sign up or sign in to vote.
17 Dec 2014Vidyasagar Machupalli
Functional vs. imperative language paradigms
Please Sign up or sign in to vote.
16 Dec 2014bishopnator29a
Simple method how to make application's window maximized on different monitors in multi-monitor setup.
Please Sign up or sign in to vote.
26 Dec 2014Roger65
A project to place a Dialog Box on the Taskbar
Please Sign up or sign in to vote.
23 Dec 2014Dominique Gilleman
How to handle (load/save) only a part of an aggregate domain model with composition
Please Sign up or sign in to vote.
30 Dec 2014Roi Azulay
An automation solution using Arduino
Please Sign up or sign in to vote.
25 Dec 2014Tushar_Gupta
Walk through to quickly develop applications using Node.js and Express framework.
Please Sign up or sign in to vote.
9 Dec 2014Emiliarge
How to statically link a Win32 Project with Visual C++ libraries (m***.dll)
Please Sign up or sign in to vote.
2 Dec 2014HateCoding
This tip will show you an example for using R-tree.
Please Sign up or sign in to vote.
30 Dec 2014Mehdi Maujood
This tip provides an approach to object-oriented programming for developers familiar with class-based OOP in languages such as C++ and Java.

Current Participants

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

Hungary Hungary
I'm software developer & scrum master with several years of experience in project and line management.
Software Developer (Senior)
Germany Germany
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 www.bfilipek.com.
Software Developer (Senior)
Switzerland Switzerland
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Chief Technology Officer Logical Advantage
United States United States
Dan graduated summa cum laude from North Carolina State University with dual degrees in Electrical Engineering and Computer Engineering. Dan attended NC State on full scholarship program with General Motors. After working with GM, Dan served as application development director for the largest Microsoft Business Solutions Partner in the Carolinas. During this time, Dan's team won two Microsoft Pinnacle awards. For the past 10 years, as Co-Founder and Chief Technology Officer of, Logical Advantage (www.logicaladvantage.com), a software consulting business, Dan has successfully architected and delivered web-based and mobile applications for many Fortune 500 companies. Dan focuses his energies on emerging technologies, and ensuring that all projects are architected to meet the client's current and future needs. Dan collaborates with his Chief Solutions Officer and other architects to create technical standards, including coding standards, tools, and platforms. He holds a leadership role in the local Microsoft Enterprise Developer's Guild and has been on the steering committee for over a dozen years.
Software Developer www.randommonkeyworks.com
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!
Technical Lead Plumsail
Russian Federation Russian Federation
Expert in SharePoint
The leader of SharePoint Forms Designer Team: http://spform.com
Co-founder of Plumsail: http://plumsail.com
My blog: http://formsdesigner.blogspot.com
Engineer
Belgium Belgium
I'm a software engineer working for a company in the field of laboratory services. I started programming at 10 years old, first in basic and pascal, and now in C++ and C#

My main interests are Software architecture, Team leading, Algorithms and complex problems.
I did independant project in image analysis, clustering software, 3D visualization and Enterprise social networks

You can have more information on my website: http://dominiquegilleman.co.nf/
Software Developer
Russian Federation Russian Federation
Want to contribute my CodeProject articles and tips? Write my e-mail: emiliarge@mail.ru
Software Developer
United States United States
Besides loving spending time with family, Francis Xavier likes to watch sci-fi/fantasy/action/drama movies, listen to music, and play video-games. After being exposed to a few video-games, he developed an interest in computer programming. He currently holds a Bachelor's degree in Computer Applications.
CEO Integrated Ideas
India India
gasshopper.iics is a group of like minded programmers and learners in codeproject. The basic objective is to keep in touch and be notified while a member contributes an article, to check out with technology and share what we know. We are the "students" of codeproject.

This group is managed by Rupam Das, an active author here. Other Notable members include Ranjan who extends his helping hands to invaluable number of authors in their articles and writes some great articles himself.

Rupam Das is mentor of Grasshopper Network,founder and CEO of Integrated Ideas Consultancy Services, a research consultancy firm in India. He has been part of projects in several technologies including Matlab, C#, Android, OpenCV, Drupal, Omnet++, legacy C, vb, gcc, NS-2, Arduino, Raspberry-PI. Off late he has made peace with the fact that he loves C# more than anything else but is still struck in legacy style of coding.
Rupam loves algorithm and prefers Image processing, Artificial Intelligence and Bio-medical Engineering over other technologies.

He is frustrated with his poor writing and "grammer" skills but happy that coding polishes these frustrations.
This is a Organisation

115 members
Software Developer (Senior)
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 China Telecom Guangdong
China China
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.
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 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.
Software Developer (Senior) CET Electronics
Italy Italy
Played with transistors and ICs before being ten. First approaches to programming (PET Commodore) in the early '80.
Then AppleSoft, TurboPascal, Assembler and VisualBasic.
Currently employed at CET Electronics as lead software developer, involved in creation of industrial control systems.
Loving graphics technologies, I had some great time with SVG.
Since 2006 my primary language is C#, where I am focusing on WPF.
Architect Visma Software
Romania Romania
Marius Bancila is the author of Modern C++ Programming Cookbook and The Modern C++ Challenge. He has been a Microsoft MVP since 2006, initially for VC++ and nowadays for Development technologies. He works as a system architect for Visma, a Norwegian-based company. He works with various technologies, both managed and unmanaged, for desktop, cloud, and mobile, mainly developing with VC++ and VC#. He keeps a blog at http://www.mariusbancila.ro/blog, focused on Windows programming. You can follow Marius on Twitter at @mariusbancila.
Team Leader
Czech Republic Czech Republic
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Canada Canada
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Pakistan Pakistan
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Canada Canada
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
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.
Architect I Computer Solutions Srl
Romania Romania
Catalin Gheorghiu is a solution architect from Timisoara. At the moment is interested in developing for mobile and cloud platforms. In addition to addressing the development and architecture, is a trainer and consultant. In his spare time is member of the technical community, contributing with articles and blogs to several user groups (MrSmersh), lecturing all over Romania and abroad, is also RONUA Timisoara user group leader.
Since 2011, every year he was awarded the Microsoft MVP Award.
Software Developer
India India
Naren started coding during 1999 with FORTRAN, then COBOL, PASCAL, C, C++, VC++ ..... C#, Java, ASP so on, till today. He claims himself as techie who loves coding, but he is not even sure which technology or platform he loves, most of the time Windows, some time WinCE, some time Linux, nowadays Android and embedded platforms. He can do some query stuffs with Oracle, SQL Server, MySQL. He strongly believes that C/C++ is a must for all programmers, "if you know C/C++, you can do programming on any language". He is an electronic gadget guy who likes to buy small gadgets all the time, at least he will do window shopping on a gadget shop. His interest always have been with Automation in any form, call it a little automated program sitting in his Laptop or a home automation program runs on his mobile. Apart from coding, he likes to do...???
Software Developer (Senior)
India India
Software engineer with around 6 years of web application development experience in open source technologies like PHP, MySQL, HTML, HTML5, CSS, CSS3, Javascript, jQuery etc.

I love to learn and share my knowledge in which manner I can and like to solve the issues as in the coding perspective. I am an active contributor in community forums like StackOverflow, CodeProject etc. Besides that, I write blogs in free time and speak in various technical community events.
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.
Israel Israel
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Canada Canada
Terry Sych is a Staff Software Engineer in the Platform Architecture Enabling group at Intel Corporation. He joined Intel in 1992, and has worked on performance analysis and software optimization of enterprise and cloud applications for the last 15 years. He received a BS degree in Computer Engineering from the University of Michigan in 1981 and an MSEE degree from the University of Minnesota in 1988. He holds 3 US patents.
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer
Taiwan Taiwan
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer (Senior)
India India
Developer | Blogger | Mentor | Gamer | Microsoft MVP
Coder by profession | Gamer By Heart
Technical Blog : http://vidyasagarmsc.com
About me: http://about.me/mscvidyasagar

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. In the event an article has multiple authors and/or contributors, the number of prizes issued is solely at the discretion of the prize issuer.
  11. In the event of a tie,  the number of prizes issued is solely at the discretion of the prize issuer.
  12. Multiple votes from the same IP will be automatically disqualified.
  13. The judges’ decision is final and no correspondence will be entered into.
  14. Only those who live in jurisdictions in which this contest is legal may enter.
  15. Any breach of the rules and the prize will be awarded to the runner up.
  16. 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.
  17. 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 Dec - 31 Dec 2014