Click here to Skip to main content
15,031,495 members
This competition has ended

Best C++ Article of April 2016

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. The top 50 entries are shown.

Please Sign up or sign in to vote.
6 Feb 2020
David Lafreniere
Protect against heap fragmentation faults and improve execution speed with a fixed block alternative to STL std::allocator
Please Sign up or sign in to vote.
26 Apr 2016
Dr. Song Li
This is a note on how compilers implement function calls to pass the parameters to and get the return value from the called functions.
Please Sign up or sign in to vote.
18 Apr 2016
Mircea Diaconescu, Gerd Wagner
Learn how to develop Arduino-based apps for the Web of Things (WoT). This second part of a series of tutorials shows how to read analog and digital sensors with the help of Arduino.
Please Sign up or sign in to vote.
19 Apr 2016
Clifford Nelson
A set of extension methods to support conditional Expression Bodied Functions and Properties
Please Sign up or sign in to vote.
11 Apr 2016
Martin Mitáš
Direct2D or GDI+? Perhaps both, with a help of the right library.
Please Sign up or sign in to vote.
5 Apr 2016
Matt Scarpino
Developing Low-Level Linux Applications with XCB (X protocol C-language Binding)
Please Sign up or sign in to vote.
23 Oct 2019
David Lafreniere
A Win32 CreateThread() C++ wrapper class for synchronized thread startup and forced message queue creation.
Please Sign up or sign in to vote.
12 Apr 2016
Shao Voon Wong
This tip presents a custom RTTI class which is 10x faster than dynamic_cast
Please Sign up or sign in to vote.
1 Apr 2016
Ben Hanson
Convert EBNF to BNF
Please Sign up or sign in to vote.
10 Apr 2016
AIT SALEM BOUSSAD
This first part of the article presents how to inject a DLL inside lsass process by using Windows service
Please Sign up or sign in to vote.
8 Apr 2016
jurhas
Solving graph on linear time
Please Sign up or sign in to vote.
17 Apr 2016
leon de boer
In this second part, we will create an OpenGL MDI application
Please Sign up or sign in to vote.
13 Apr 2016
Member 11246861
Within LAN, laptop gets signals from microcomputer and microcontroller using TCP/IP and SPI
Please Sign up or sign in to vote.
20 Apr 2016
Suarte
A hands on example of domain driven design - Part 3
18 Apr 2016
Intel Corporation
This robot arm application is part of a series of how-to Intel® IoT Technology code sample exercises using the Intel® IoT Developer Kit, Intel® Edison board, cloud platforms, APIs, and other technologies.
Please Sign up or sign in to vote.
13 Aug 2018
Shao Voon Wong
How to draw a text with an outline
Please Sign up or sign in to vote.
12 Apr 2016
Shao Voon Wong
Using SSE2 to speed up alphablending.
Please Sign up or sign in to vote.
7 Apr 2016
Apriorit Inc, Kulchytskyi Oleg
Several approaches of anti-debug protection and some tips about how they are usually neutralized by reversers
Please Sign up or sign in to vote.
15 Dec 2017
Laurie Stearn
Dialogex with Listbox to manipulate long paths in Windows
Please Sign up or sign in to vote.
14 Apr 2016
Eyal Rosner
Easily setting debugger to attach a process on start
Please Sign up or sign in to vote.
7 May 2018
Elmue
An electronic door lock that replaces a mechanic key by an RFID card or RFID token.
Please Sign up or sign in to vote.
25 Jan 2019
David Lafreniere
Simplify passing data between threads using this multithreaded, portable C++ asynchronous callback framework
Please Sign up or sign in to vote.
12 Apr 2016
Shao Voon Wong
How to use a font without installing it first on user systems
Please Sign up or sign in to vote.
13 Aug 2018
Shao Voon Wong
Outline Text Part 2
Please Sign up or sign in to vote.
12 Apr 2016
Shao Voon Wong
Introduction to Boost Multiprecision Library
Please Sign up or sign in to vote.
12 Apr 2016
Shao Voon Wong
Debug Print using C++11 Variadic Template
Please Sign up or sign in to vote.
1 Oct 2016
Shao Voon Wong
Writing comparison function for std::sort
Please Sign up or sign in to vote.
25 Apr 2020
Shao Voon Wong
Benchmark between OpenMP, Parallel Patterns Library, Auto-Parallelizer and C++17 Parallel for_each
Please Sign up or sign in to vote.
12 Aug 2018
Shao Voon Wong
Simplistic Binary Streams with endian swap support
Please Sign up or sign in to vote.
12 Apr 2016
Shao Voon Wong
Draw text outline using DirectWrite
Please Sign up or sign in to vote.
17 Apr 2016
Adamanteus
Preserving overheating processor in multitasking environment
Please Sign up or sign in to vote.
12 Apr 2016
Shao Voon Wong
Introduce 4 new algorithms on finding combinations
Please Sign up or sign in to vote.
22 Apr 2016
Mircea Diaconescu, Gerd Wagner
Learn how to develop Arduino-based apps for the Web of Things (WoT). This first part of a series of tutorials shows the basics of an Arduino program (known as a "sketch") and provides a quick introduction to some electronic components, including resistors, RGB LEDs and LEDs in general.
Please Sign up or sign in to vote.
12 Apr 2016
Shao Voon Wong
Never test for NaN by comparing it with NaN literal
Please Sign up or sign in to vote.
6 May 2021
Shao Voon Wong
Read/write CSV in few lines of code!
Please Sign up or sign in to vote.
12 Apr 2016
Shao Voon Wong
Linq-To-XML Node Creation for Native C++
Please Sign up or sign in to vote.
3 Jan 2018
Shao Voon Wong
A C++ Text Stream design which has read/write symmetry
Please Sign up or sign in to vote.
12 Apr 2016
Shao Voon Wong
The C++ XML parsing article which should have been written since the advent of XML! This article defines a new Elmax abstraction model over the DOM model.
Please Sign up or sign in to vote.
6 Sep 2016
Mahmoud Samir Fayed
Free Open Source Innovative and practical general-purpose multi-paradigm Scripting language developed using C/C++
Please Sign up or sign in to vote.
1 May 2016
itsdkg
A demonstration of how to use C++11/C++14 lambdas / Closures
Please Sign up or sign in to vote.
23 Nov 2017
EgorYusov
This article describes how to implement dynamic resources with Direct3D12 API using ring buffers.
Please Sign up or sign in to vote.
19 May 2016
Noah L
Use-after-free bugs, new smart pointers and the new state of safe C++ programming
Please Sign up or sign in to vote.
11 Jan 2018
Shao Voon Wong
Explains the reason behind using pointer-to-pointer and reference-to-pointer to modify a pointer passed to a function
Please Sign up or sign in to vote.
10 Aug 2020
Shao Voon Wong
Tutorial on a cross-platform C++ XML DOM library
Please Sign up or sign in to vote.
12 Apr 2016
Shao Voon Wong
Finding lexicographical permutations on GPU
Please Sign up or sign in to vote.
5 Jun 2018
Shao Voon Wong
An article on finding combinations
Please Sign up or sign in to vote.
12 Apr 2016
Shao Voon Wong
Benchmark of hash and non-hash container
Please Sign up or sign in to vote.
12 Apr 2016
Shao Voon Wong
A new C++ SAX library to simplify parsing

Current Participants

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

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.
AIT SALEM BOUSSAD
Instructor / Trainer
France France
No Biography provided
Apriorit Inc
Chief Technology Officer Apriorit Inc.
United States United States
ApriorIT is a software research and development company specializing in cybersecurity and data management technology engineering. We work for a broad range of clients from Fortune 500 technology leaders to small innovative startups building unique solutions.

As Apriorit offers integrated research&development services for the software projects in such areas as endpoint security, network security, data security, embedded Systems, and virtualization, we have strong kernel and driver development skills, huge system programming expertise, and are reals fans of research projects.

Our specialty is reverse engineering, we apply it for security testing and security-related projects.

A separate department of Apriorit works on large-scale business SaaS solutions, handling tasks from business analysis, data architecture design, and web development to performance optimization and DevOps.

Official site: https://www.apriorit.com
Clutch profile: https://clutch.co/profile/apriorit
Group type: Organisation

33 members

Ben Hanson
Software Developer (Senior)
United Kingdom United Kingdom
I started programming in 1983 using Sinclair BASIC, then moved on to Z80 machine code and assembler. In 1988 I programmed 68000 assembler on the ATARI ST and it was 1990 when I started my degree in Computing Systems where I learnt Pascal, C and C++ as well as various academic programming languages (ML, LISP etc.)

I have been developing commercial software for Windows using C++ since 1994.
Clifford Nelson
Software Developer (Senior) Clifford Nelson Consulting
United States United States
Has been working as a C# developer on contract for the last several years, including 3 years at Microsoft. Previously worked with Visual Basic and Microsoft Access VBA, and have developed code for Word, Excel and Outlook. Started working with WPF in 2007 when part of the Microsoft WPF team. For the last eight years has been working primarily as a senior WPF/C# and Silverlight/C# developer. Currently working as WPF developer with BioNano Genomics in San Diego, CA redesigning their UI for their camera system. he can be reached at qck1@hotmail.com.
David Lafreniere
United States United States
I've been a professional software engineer for over 20 years. When not writing code, I enjoy spending time with the family, camping and riding motorcycles around Southern California.
Dr. Song Li
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.
EgorYusov
United States United States
Being a 3D graphics enthusiast for many years, I have worked on various rendering technologies including deformable terrain, physically-based water, shadows, volumetric and post-processing effects and other. I run Diligent Graphics as a place where I can experiment, learn new technologies, try new algorithms and share my ideas.
Elmue
Software Developer (Senior) ElmüSoft
Chile Chile
Software Engineer since 27 years.
Eyal Rosner
Architect - Hewlett Packard Enterprise
Unknown
My specialities are at the area of crash dump analysis, memory leaks tracking, network traffic analysis, advanced debugging technics and software security
Intel Corporation
United States United States
You may know us for our processors. But we do so much more. Intel invents at the boundaries of technology to make amazing experiences possible for business and society, and for every person on Earth.

Harnessing the capability of the cloud, the ubiquity of the Internet of Things, the latest advances in memory and programmable solutions, and the promise of always-on 5G connectivity, Intel is disrupting industries and solving global challenges. Leading on policy, diversity, inclusion, education and sustainability, we create value for our stockholders, customers and society.
Group type: Organisation

42 members

itsdkg
Architect
India India
A programmer by heart since 1998. Written code in C++, Java, JavaScript, Python & Ruby, Worked on Stack Development to Web Development. Data Specialist with SQL and NoSQL DBs
jurhas
Italy Italy
No Biography provided
Lai Taiyu
Instructor / Trainer GJun Information Co.,Ltd.
Taiwan Taiwan
Dr. Lai Tai-Yu received the Ph.D. from National Taipei University of Technology in 2016. He is the co-author of 2 journal, 25 conference papers, 6 books, 9 articles in the codeproject.com, and 2 patents inventions. His research interests lie in the areas of digital image processing and AI. He is a lecturer.  

Dr Taiyu Lai. Stopień doktora, uzyskał w 2016 roku i objął stanowisko adiunkta na Wydziale. Ponadto jest autorem i współautorem: 2 publikacji artykułu w czasopiśmie naukowym, 25 artykułów opublikowanych w materiałach konferencyjnych, 6 książek, 9 eseje w monografiach codeproject.com, i posiada dwa patenty. Zainteresowania naukowe: przetwarzania obrazów i AI. Jest wykładowcą.  

赖岱佑在2016年取得台北科技大学资讯工程博士学位,有2篇期刊、25篇会议论文、6本书籍、9篇文章在 codeproject.com 、2项专利。研究方向:数字图像处理和AI。现职是一位讲师。

賴岱佑在2016年取得台北科技大學資訊工程博士學位,有2篇期刊、25篇會議論文、6本書籍、9篇文章在 codeproject.com 、2項專利。研究方向:數位影像處理和AI。現職是一位講師。
Laurie Stearn
Retired
Australia Australia
No Biography provided
leon de boer
Software Developer
Australia Australia
Experience hardware/software design engineer with specialization in the field of embedded controllers and software. Software credits include Free Pascal development RTL, Cipher Multitask engraving software and Symmetry Laser/Cutting software. Firmware/hardware credits include Cipher CNC controllers series 1-3, Vision series 1 engraver controller and I-Marc pet tagger controller.

It is about now you realize you have been doing this for far too long Smile | :)

contact: ldeboer@gateway.net.au
No Biography provided
Martin Mitáš
Team Leader
Czech Republic Czech Republic
No Biography provided
Matt Scarpino
United States United States
No Biography provided
No Biography provided
Mircea Diaconescu
Technical Lead
Germany Germany
Researcher, developer, WoT/IoT enthusiast
Co-founder of http://web-engineering.info.
Noah L
United States United States
No Biography provided
Shao Voon Wong
Software Developer (Senior)
Singapore Singapore
Shao Voon is from Singapore. CodeProject awarded him a MVP in recognition of his article contributions in 2019. In his spare time, he prefers to writing applications based on 3rd party libraries than rolling out his own. His interest lies primarily in computer graphics, software optimization, concurrency, security and Agile methodologies.

You can reach him by sending a message on CodeProject or at his Coding Tidbit Blog!
Simon M Li
China China
I am C++ developer with 14 years experience. I am good at native programming and debugging. I am studying .net now.
Suarte
Technical Lead PSafe Technology
Brazil Brazil
A software development lover with more than 10 years of experience on programming, the IT field and computer science as well.

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 Apr - 30 Apr 2016