Click here to Skip to main content
15,030,355 members
This competition has ended

Best C++ Article of April 2017

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.
1 May 2017
AlexeyAB
Examples of use and testing of a thread-safe pointer and contention-free shared-mutex
Please Sign up or sign in to vote.
5 Oct 2017
tugrulGtx
Multi-device OpenCL load balancer and pipeliner for C# in few lines of code.
Please Sign up or sign in to vote.
4 Apr 2017
grilialex
COFILOS SD Card Driver
Please Sign up or sign in to vote.
17 Apr 2017
EgorYusov
Descriptors and descriptor heaps are key components of a new resource binding paradigm introduced in Direct3D12. This article describes an efficient system for managing descriptor heaps.
Please Sign up or sign in to vote.
12 Apr 2017
PJ Arends
This is an alternative for "An AutoRepeat Button Class"
Please Sign up or sign in to vote.
13 Apr 2017
zapsolution
Stereo mix audio capture with peak level display
Please Sign up or sign in to vote.
13 Apr 2017
matt warren
CLR thread pool 'thread injection' algorithm
Please Sign up or sign in to vote.
19 Apr 2017
Intel Corporation
In Part 2 we will explore how to configure an integrated development environment (IDE) to build the C++ code example, and provide a code walkthrough based on the AlexNet deep learning topology.
Please Sign up or sign in to vote.
19 Apr 2017
Intel Corporation
The Developer's Introduction to Intel MKL-DNN tutorial series examines Intel MKL-DNN from a developer’s perspective. Part 1 identifies informative resources and gives detailed instructions on how to install and build the library components.
Please Sign up or sign in to vote.
19 Apr 2017
Intel Corporation
With Intel DAAL, cgo, and SWIG we were able to integrate optimized Cholesky decomposition right in our Go programs.
12 Apr 2017
Intel Corporation
In this blog post we will explain transfer learning and some of its applications, explain how neon can be used for transfer learning, walk through example code that uses neon for transferring a pre-trained model to a new dataset, and discuss the merits of transfer learning with some results
17 Apr 2017
Intel Corporation
Examples of How Intel® Compilers Can Vectorize and Speed Up Loops
17 Apr 2017
Intel Corporation
How the Gold Standard Parallel Programming Language Has Improved with Each New Version
Please Sign up or sign in to vote.
20 Apr 2021
AlexeyAB
Atomic operations and C++11 memory barriers and assembler instructions generated on x86_64 CPUs
Please Sign up or sign in to vote.
10 Apr 2017
Marius Bancila
This article provides an introduction to CMake through a series of examples to help you, as VC++ developers, to create and maintain CMake projects.
Please Sign up or sign in to vote.
23 Apr 2017
Zuoliu Ding
A discussion on how Visual C/C++ code works with bit-wise logical and shift operators, as well as a loop optimization.
Please Sign up or sign in to vote.
14 Jun 2017
Andy Allinger
Introduces data clustering and the k-means++ algorithm
Please Sign up or sign in to vote.
30 Mar 2021
AlexeyAB
Smart pointer that makes any object thread-safe for any operations, with the performance equal to that of optimized lock-free containers
Please Sign up or sign in to vote.
16 Apr 2017
zapsolution
Midi keyboard with both mouse and computer keyboard control
Please Sign up or sign in to vote.
22 Sep 2019
Rodrigo Cesar de Freitas Dias
Introducing WinLamb, a modern C++11 object-oriented library to write native Windows programs
Please Sign up or sign in to vote.
13 Apr 2017
EgorYusov
This article presents an implementation of a lightweight variable-size memory block allocator that is used in Diligent Engine 2.0
Please Sign up or sign in to vote.
27 Apr 2017
zapsolution
Debugging utility
Please Sign up or sign in to vote.
1 May 2017
Gautham Prabhu K
In recent years User Experience(UX) Design has become very important part of software industry. As multiple softwares are providing similar service to users a good UX can mean life or death for your software product\service and in worst case your company.
Please Sign up or sign in to vote.
16 Apr 2017
EgorYusov
This article describes a low-overhead strategy for managing lifetimes of resources in Direct3D12.
Please Sign up or sign in to vote.
11 Apr 2017
Intel Corporation
This tutorial shows you how to create the hardware equivalent of “Hello World”: a blinking LED.
Please Sign up or sign in to vote.
17 Apr 2017
umar.techBOY
ArduinoDotNet is a tiny interface built to control the Arduino directly from a.Net Application.
Please Sign up or sign in to vote.
10 Apr 2017
zapsolution
32-bit animation working like the 8-bit GIF animated format
Please Sign up or sign in to vote.
18 Oct 2017
VISWESWARAN1998
CyberGod KSGMPRH is an open source antivirus which is designed to work under Windows operating system. It comes with a DOS Engine helping developers to customize the anti-virus engine as they please.

Current Participants

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

AlexeyAB
Architect
Russian Federation Russian Federation
The author of the YOLOv4 - the best neural network for object detection.
I use modern C++ and modern CPU/GPU processors to solve tasks that require high performance, which can only be solved now.
I'm interested in HPC, Computer Vision and Deep Learning.
Preferably languages: C++11/14, CUDA C++, Python, SQL
Andy Allinger
Engineer Kruger Optical
United States United States
I work on an assembly line and have been doing amateur programming since 1992. Those rare times away from the computer I spend bicycling, canoeing the Columbia River, or cheering on the Seattle Seahawks.
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.
Gautham Prabhu K
Software Developer (Senior)
India India
Gautham Prabhu K is a Software Engineer with 10+ years of experience in designing and developing software solution. He has experience working in Payment Gateway, Process Automation and Investment Banking industries.

Gautham has passion for engineering software solutions. He likes to design and build them efficiently, he has primarily worked on Microsoft .NET technology.

Gautham has dream of building his own software company someday. During his free time he likes to watch movies, go on long drives and write technical blogs/article.
grilialex
Systems Engineer AI ZeroCaliber Ltd
Cyprus Cyprus
More than 15 year of Embedded Systems development designing both hardware & software.
Experience with Product Development,lab prototypes and Automated Testers, Sensors, motors and System Engineering. Have used numerous micro-controllers/processors, DSP & FPGAs.

Please check AI ZeroCaliber if you need any help.
You may find also my personal site: Ilialex and my blog site: Ilialex Blog
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

Jose A Pascoa
AtelierWeb Software
Portugal Portugal
Jose Pascoa is the owner of AtelierWeb Software (http://www.atelierweb.com). We produce security and network software and mixed utilities since 1999. The first program I published (in a BBS) was a MS-DOS utility, had the size of 21 KB and was done in Assembly Language. Nowadays, my low level languages are more likely to be "C", "C++" and "Delphi" rather than Assembly Language but I still like it. I have nothing against more fashionable languages like C# and technologies like WPF, actually I have played with them and published software with them.
Marius Bancila
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.
matt warren
Software Developer
United Kingdom United Kingdom
No Biography provided
PJ Arends
President
Canada Canada
No Biography provided
Robert van Engelen
CEO
United States United States
Founder of Genivia inc, Professor of Computer Science
Rodrigo Cesar de Freitas Dias
Systems Engineer
Brazil Brazil
No Biography provided
tugrulGtx
Turkey Turkey
No Biography provided
umar.techBOY
Engineer techCREATIONS
Pakistan Pakistan
Developer, Programmer, Beta Tester; technically, i'm none of these. I'm a mechanical engineer, programming is my passion, my hobby and my amateur non profit profession. I program when ii need and innovate whenever, wherever i want.

Learned:
C#

Mixed:
C#+Applied Mathematicss-Robotics+C++

Developed:
C# OMR Reader
Monopoly (Urdu language)
HybridAutomation Framework
SMS Bomber (Windows Mobile 6 Professional)
Hard disk watch tower
Farmville Super Clicker
Games Profile selector
Windows mobile salat reminder
Windows mobile SMS Pole Host
and alot of other small apps
VISWESWARAN1998
Student
India India
Started to learn programming: 12.07.2015

I am a young Indian student aged nearly 19. Started programming in the mid of 2015. Acquired good knowledge in C,C++,Python and Java and I mostly work on C++ programming which interests me for its simplicity.I also have some knowledge in android and a very bit of knowledge(at 2016) in ,Win32 API,Qt,wxWidgets,Lua,Shell scripting etc.,

In addition to programming languages I also have a bit knowledge(at 2016 - will improve)Networking, Penetration testing

I have and use windows 10,Linux(Kali -Rolling) and Raspberry Pi -3 model B, Arduino UNO, I don't have a Mac I am a young boy Frown | :( Mac is costlier for me - quiet equal to rate a buying a flat

I would like to Thank these persons forever in my life:

1. jeron1
2. OriginalGriff
3. Richard MacCutchan
4. Sergey Alexandrovich Kryukov
5. Andreas Gieriet
6. KarstenK
7. ppolymorphe
8. Jochen Arndt
9. Dave Kreskowiak
10. 0x01AA
11. CPallini
12. Afzaal Ahmad Zeeshan

Thank you once again


I have a weak basement in English language but now some what improved Smile | :)

I am willing to learn more for everyone in the world, So kindly teach me...

I love to write programs especially security related programs.

=========================>****<============================
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.
Zuoliu Ding
United States United States
Adjunct Professor in Computer Science

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 2017