Click here to Skip to main content
14,933,981 members
This competition has ended

Best C++ Article of June 2015

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.
13 Nov 2017
Elmue
This article describes how to use a Teensy 3.1 board from PJRC.com to simulate keyboard, mouse and touch screen USB HID devices at the same time. This allows to remote-control a computer through one USB cable.
Please Sign up or sign in to vote.
23 Jun 2015
Jan Dolinay
Article on setting up Eclipse to build programs for Arduino Uno.
Please Sign up or sign in to vote.
19 Jun 2015
ergohack
System.Data.SQLite is great, but was missing some BLOB support. Switching to the native source project was easier than expected and provided significant functionality benefits.
Please Sign up or sign in to vote.
8 Jun 2015
Dirk_Strauss
LEADTOOLS Recognition Imaging SDK - I had the pleasure of taking the SDK for a spin, and let me tell you it was well worth it.
Please Sign up or sign in to vote.
26 Jun 2015
Member 11794279
"Data! Data! Data!" he cried impatiently.
Please Sign up or sign in to vote.
21 Jun 2015
Anupam_Datta
Motion activated Pushbullet notification from your Arduino to your Smart Gadgets
Please Sign up or sign in to vote.
3 Jun 2015
TUKET BO
In this tutorial, we will learn how to embed Python in a C++ application. In particular, we are going to see an example in which we will be able to interact with a GUI (made with GTK+).
Please Sign up or sign in to vote.
4 Jun 2015
abin jaik
Office 365 Video & Office 365 APIs
Please Sign up or sign in to vote.
11 Jun 2015
Intel Corporation
In my blog today, I am going to talk about publisher-subscriber model for sharing data between various programs running in Linux.
Please Sign up or sign in to vote.
16 Jun 2015
phillipvoyle
Part 2 in a series.
Please Sign up or sign in to vote.
1 Jun 2015
Android on Intel
Integrating the Intel(R) C++ Compiler for Android with multiple Android NDKs
Please Sign up or sign in to vote.
3 Jun 2015
David Catuhe
In this article, I’ll focus on template strings based on my personal experience creating embedded expressions.
Please Sign up or sign in to vote.
2 Jun 2015
Piusn
Quick look at Azure app services
Please Sign up or sign in to vote.
15 Jun 2015
Sa Sha
Implementation of GMDH algorithm, using a sigmoid function. C++, VS, AlgLib-based
Please Sign up or sign in to vote.
15 Jun 2015
Paul M Watt
Accidental complexity
Please Sign up or sign in to vote.
21 Jun 2015
Paul M Watt
Rvalue references were introduced with C++11, and they are used to implement move semantics and perfect-forwarding. Both of these techniques are ways to eliminate copies of data parameters for efficiency. There is much confusion around this new feature that uses the && operator, because its meaning
Please Sign up or sign in to vote.
20 Oct 2019
Lance A. Endres
The algorithm presented by Radhakrishnan, et al., originally used to segment well logs for the oil industry, has been ported to C and C#.
Please Sign up or sign in to vote.
19 Jan 2016
David A. Gray
This article documents issues that I have identified in the new secure overloads of the CRT buffered print routines.
Please Sign up or sign in to vote.
27 Jun 2015
Member 11794279
CQRS – Simple Architecture
Please Sign up or sign in to vote.
24 Sep 2018
David Maw
A working example of a Windows client and server using SSL over TCP.
Please Sign up or sign in to vote.
14 Jul 2015
Arthur V. Ratz
This article demostrates the C++ code that implements AI binary distribution evolutionary algorithm for finding the "nearest" neighbor values of the given value of x in the array of N elements.
Please Sign up or sign in to vote.
3 Sep 2018
Michael Chourdakis
The update to my beloved library. Single-header file.
Please Sign up or sign in to vote.
10 Aug 2015
DriveByCoder
How fast can your PC serve up data?
Please Sign up or sign in to vote.
21 Jun 2015
Anton Bachin
A concise new technique for getting the compiler to generate reflective enum information
Please Sign up or sign in to vote.
16 Jan 2016
Mathew_wwx
This tip will introduce a library written in C++ that wraps up a 2d polygon triangulation algorithm with time complexity of O(N*logN), the algorithm works on both self-intersected and non self-intersected polygons.
Please Sign up or sign in to vote.
12 Jun 2015
phillipvoyle
Yes! Using a hand coded reflection class. Sample code provided.
Please Sign up or sign in to vote.
5 Jun 2015
Paul M Watt
C++: Template Meta-Programming 2.0
Please Sign up or sign in to vote.
1 Jun 2016
icemanind
Automatically generate Business and Data layers in C# or VB.Net from a SQL Server, Microsoft Access, MySql or SQLite database design.
Please Sign up or sign in to vote.
2 Jun 2015
Chris Boss
Lessons learned from legacy Windows programming
Please Sign up or sign in to vote.
20 Jun 2015
phillipvoyle
This article describes a C++ header only library for reflecting C++ objects and parsing and formatting JSON.
Please Sign up or sign in to vote.
26 Jun 2015
Member 11794279
When processor is not enough
Please Sign up or sign in to vote.
31 May 2015
Yochai Timmer
A way to avoid JNI's reflection oriented programming. Wrapping Java with C++
Please Sign up or sign in to vote.
17 Jun 2015
Sibeesh Passion
Introduction Hi all, I hope you are fine. Today we will learn about Angular JS HTML DOM elements.
Please Sign up or sign in to vote.
2 Jun 2015
cth027
Check how your application behaves when there's not much memory
Please Sign up or sign in to vote.
22 Jun 2015
Apprieu (Apprieu)
Please Sign up or sign in to vote.
6 Jun 2015
osy
Expression templates in C++ are a great way to generate ASTs usable at runtime
Please Sign up or sign in to vote.
22 Jun 2015
Will J Miller
Describes a design approach for implementing dynamic rows in a UITableView
Please Sign up or sign in to vote.
20 Jun 2015
Arkadeep De
Logout User After Browser Close in ASP.NET C# Using Web Services
Please Sign up or sign in to vote.
27 Jun 2015
Jacob F. W.
A Practical Introduction to Efficient Modular Exponentiation
Please Sign up or sign in to vote.
28 Jun 2015
David A. Gray
While you can often get away with ignoring compiler warnings, failing to at least scan them can bite hard!
Please Sign up or sign in to vote.
11 Jun 2015
BD Star
This is a mini project (Tic-Tac-Toe game) for Turbo C / C++ compiler.

Current Participants

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

abin jaik
Web Developer
India India
I am Abin Jaik Antony, working as a Software Developer.My technology background area extends to MOSS 2007,Microsoft BI,.NET Framework etc.
Visit my blog for more details http://www.abinjaik.com
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.

Anton Bachin
United States United States
No Biography provided
Anupam_Datta
Software Developer Tata Consultancy Services
India India
Passionate about Hardware and embedded system. Currently working in TCS Innovation Lab on IoT and M2M.
Après avoir travaillé dans l'électronique , j'a suivi de près l'arrivé des premier micro processeurs dans le monde industriel. J'ai changé de métier pour évolué vers la maintenance logicielle puis le développement d'application embarquée. Ma connaissance du matériel m'a été très utile pour faire coller le logiciel au matériel. j'ai poursuivi ma carrière professionnelle en travaillant pour le nucléaire Français ainsi que pour la marine Française en même temps j'ai repris des études en informatique.
Langage c, c++, assembleur
Group type: Collaborative Group

1 members

Arkadeep De
Software Developer PwC
India India
I am a Software developer having an experience of 5 years in application development. To get me you can mail me at arkadeepde@gmail.com or you can visit my blog at ASP With Arka
Arthur V. Ratz
Software Developer (Senior) EpsilonDev
Ukraine Ukraine
I’m software developer, system analyst and network engineer, with over 20 years experience, graduated from L’viv State Polytechnic University and earned my computer science and information technology master’s degree in January 2004. My professional career began as a financial and accounting software developer in EpsilonDev company, located at L’viv, Ukraine. My favorite programming languages - C/C++, C#.NET, Java, ASP.NET, Node.js/JavaScript, PHP, Perl, Python, SQL, HTML5, etc. While developing applications, I basically use various of IDE’s and development tools, including Microsoft Visual Studio/Code, Eclipse IDE for Linux, IntelliJ/IDEA for writing code in Java. My professional interests basically include data processing and analysis algorithms, artificial intelligence and data mining, system analysis, modern high-performance computing (HPC), development of client-server web-applications using various of libraries, frameworks and tools. I’m also interested in cloud-computing, system security audit, IoT, networking architecture design, hardware engineering, technical writing, etc. Besides of software development, I also admire to write and compose technical articles, walkthroughs and reviews about the new IT- technological trends and industrial content. I published my first article at CodeProject in June 2015.
BD Star
Software Developer
Bangladesh Bangladesh
I am a professional software developer. I have experience in analysis, design, development, testing and implementation of desktop(standalone),web and mobile platform. I have good exposure to object-oriented design, software architectures, design patterns, test-driven development and Project Management.


My Working Area:-

Programming Language: C, C++, Java, VB.NET, C#.NET.
Web Language: HTML5, XML, CSS3, JavaScript, JSON, jQuery, AJAX, PHP, ASP.NET.
Database Language: SQL.
Database Management System: Oracle, MS Access, MySQL.
Web development Server: Apache, Microsoft Personal Web Server, IIS.
Editor: Microsoft Visual Stdio, Codebock, Dev, GCC, Adobe Dreamwaver, Microsoft Fontpage, Netscape Composer, Netbeans, Sublime Text, TC.
Web FrameWork: twitter Bootstrap, 960 Grid System.
Design Pattern: MVC.
CMS: Wordpress, Joomla.
Operating System: Windows (NT,XP, Vista, 7), Linux (RedHat, Ubuntu)
Scripting Language: Linux Shell Scripting, Powershell Script
ERP System: Oracle JD Edwards
Mobile Platform: Windows, Firfox, Android.
Chris Boss
Software Developer Computer Workshop
United States United States
Chris Boss is the owner (and programmer) of a small software development business in rural Virginia, called the Computer Workshop. For the last ten years or so he has been developing tools for use by Powerbasic programmers (see: http://powerbasic.com ). His main product called EZGUI (Easy GUI) is a high level GUI engine with Visual Designer and code generator. It is in its fifth generation now. He is an experienced Windows API programmer (more low level) and has experience in writing GUI engines (forms/controls), drag and drop Visual Designers, Graphics engines (printing and to the screen) and one of his favorites is a Sprite engine (2D animated movable images). His current project is version 5.0 of his main product EZGUI, adding such features as multi-monitor support, component engine, custom control engine, superclass engine and the latest project a 3D OpenGL based custom control. One of the goals he has is to push the limits of Windows software development, while making it easy, fast execution speed, small footprint (size of executables) and code reusability while providing a more graphic experience in user interfaces, while still being able to write software which can fit on a floppy disk (small footprint), use minimal amount of memory and able to run on multiple versions of Windows from 95 to Win8.
cth027
Technical Lead
France France
Master in Computer Science, ACM Senior Member

Started career as freelance developer. Since 1993 in team lead, project manager and management positions.

Professional development experience with C++, C, several assemblers, SQL.
Played a little bit with Java, Pascal, Basic, Caml, Lisp, Prolog, SQLWindows, and others.

I'm here to share knowledge, and have fun writing software pieces unrelated to my job. Hoping to somehow contribute to the software craftsmanship/profession.

All views are my own and do not express views of my employer.
David A. Gray
Software Developer (Senior)
United States United States
I deliver robust, clean, adaptable, future-ready applications that are properly documented for users and maintainers. I have deep knowledge in multiple technologies and broad familiarity with computer and software technologies of yesterday, today, and tomorrow.

While it isn't perceived as sexy, my focus has always been the back end of the application stack, where data arrives from a multitude of sources, and is converted into reports that express my interpretation of The Fundamental Principle of Tabular Reporting, and are the most visible aspect of the system to senior executives who approve the projects and sign the checks.

While I can design a front end, I prefer to work at the back end, getting data into the system from outside sources, such as other computers, electronic sensors, and so forth, and getting it out of the system, as reports to IDENTIFY and SOLVE problems.

When presented with a problem, I focus on identifying and solving the root problem for the long term.

Specialties: Design: Relational data base design, focusing on reporting; organization and presentation of large document collections such as MSDS libraries

Development: Powerful, imaginative utility programs and scripts for automated systems management and maintenance

Industries: Property management, Employee Health and Safety, Services

Languages: C#, C++, C, Python, VBA, Visual Basic, Perl, WinBatch, SQL, XML, HTML, Javascript

Outside Interests: Great music (mostly, but by no means limited to, classical), viewing and photographing sunsets and clouds, traveling by car on small country roads, attending museum exhibits (fine art, history, science, technology), long walks, especially where there is little or no motor traffic, reading, especially nonfiction and thoughtfully written, thought provoking science fiction
David Catuhe
United States United States
David Catuhe is a Principal Program Manager at Microsoft focusing on web development. He is author of the babylon.js framework for building 3D games with HTML5 and WebGL. Read his blog on MSDN or follow him @deltakosh on Twitter.
David Maw
Retired Unisys Corporation
United States United States
I programmed professionally for several decades, first on Burroughs mainframes, then, after it became Unisys, on Windows systems, first using C++ and COM on Win32, then C# on .NET on desktop and phone platforms. My professional life eventually did not involve much programming and now I'm retired, so programming is more of a personal passion.
Dirk_Strauss
Software Developer (Senior)
South Africa South Africa
I have been writing software for more than 13 years and have always tried to stay ahead of the pack by keeping up with the latest in technology. Apart from a passion for technology, I am passionate about imparting whatever it is that I learn. I have authored books on C# for Packt Publishing and Apress, written ebooks for Syncfusion's Succinctly Series and have written numerous blog posts and contributed to various guest articles on sites such as BitRebels.

I started my career at a small privately-owned company, developing ASP.NET Web Applications using VB.NET and C#. Later I moved to a national company where I did SYSPRO integration and customization using C# as my main language. After 8 years doing SYSPRO integration, I decided that it was time to move on, joining Evolution Software where I developed responsive web applications. In 2017, I started a position at Embrace as a Full Stack Developer.

I currently work at Tigers as a Senior Software Developer.
DriveByCoder
Founder Bowmain
United Kingdom United Kingdom
Shaun O'Kane is a software developer with over 25 years experience. His interests include C++, C#, Windows, Linux, WPF, sockets, finance, .. just about everything.
Elmue
Software Developer (Senior) ElmüSoft
Chile Chile
Software Engineer since 27 years.
ergohack
United States United States
No Biography provided
icemanind
Web Developer http://www.icemanind.com
United States United States
No Biography provided
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

Jacob F. W.
United States United States
No Biography provided
Jan Dolinay
Employed (other) Tomas Bata University in Zlin
Czech Republic Czech Republic
Works at Tomas Bata University in Zlin, Czech Republic. Teaches embedded systems programming. Interested in programming in general and especially in programming microcontrollers.
Lance A. Endres
Engineer APS Technology
United States United States
Lance is a research and development engineer in the area of drilling dynamics in the oil service industry. He holds a Ph.D. in engineering with his graduate work focused is in the area of computational dynamics and mechanics. He has been coding for over 20 years.
Mathew_wwx
Student
United States United States
Over 10 years working experience on computer programming in c/c++

I'm interested in computer graphics, and the related fields.

I have been benefited from this site, and other Open source community for years, and it is my turn to contribute back.

Data visualization is the pivot for computer graphics application, I am going to develop the basic tools to visualize the 3d data, from static to animation on Windows with OpenGL or DirectX. I will wrap the core part into a library portable to other platforms and make those libraries open and free to use.


Once I am able to manipulate the data, rendering the data, then everything in the 3d world is open to me, and I am stepping in.

Thanks to my employer Beijing Pencho Pai Fashion Technology, for offering the opportunity on 3d graphics application development, the true commitment will come in 2016
No Biography provided
Michael Chourdakis
Software Developer
Greece Greece
I'm working in C++, PHP , Java, Windows, iOS, Android and Web (HTML/Javascript/CSS).

I 've a PhD in Digital Signal Processing and Artificial Intelligence and I specialize in Pro Audio and AI applications.

My home page: https://www.turbo-play.com
osy
Software Developer (Senior)
Switzerland Switzerland
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.
phillipvoyle
Software Developer (Senior)
New Zealand New Zealand
I've spent time programming for the security industry, video games, and telephony. I live in New Zealand, and have a Bachelor of Computing and Mathematical Sciences specializing in Computer Technology, from the University of Waikato in Hamilton, New Zealand.
Piusn
CEO Sharelogic Technologies Limited
Kenya Kenya
No Biography provided
Sa Sha
Ukraine Ukraine
No Biography provided
Sergiy Bogdancev
Software Developer
Ukraine Ukraine
No Biography provided
Sibeesh Passion
Software Developer
Germany Germany
I am Sibeesh Venu, an engineer by profession and writer by passion. I’m neither an expert nor a guru. I have been awarded Microsoft MVP 3 times, C# Corner MVP 5 times, DZone MVB. I always love to learn new technologies, and I strongly believe that the one who stops learning is old.

My Blog: Sibeesh Passion
My Website: Sibeesh Venu
TUKET BO
Spain Spain
No Biography provided
Will J Miller
Program Manager
United States United States
I'm a senior technical leader with over 20 years of experience leading full-cycle software engineering and mobile application development projects for emerging and established brands. I've contributed to the success of multi-billion-dollar products and software solutions for companies like Lucent Technologies, Reuters, and Wolters Kluwer, and implemented enterprise-wide technology standards responsible for driving both cost savings and revenue growth. A frequent contributor to open source software, I also consult with technology startups to develop mobile applications and have published several articles on iOS development and software management processes.
Yochai Timmer
Team Leader
Israel Israel
http://stackoverflow.com/users/536086/yochai-timmer

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 Jun - 30 Jun 2015