Click here to Skip to main content
15,213,352 members

Best C++ Article of September 2015

This competition has ended

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.

4 Jun 2017
Axel Rietschin
Import photos & videos directly from smart phones and digital cameras using the Windows Photo Import API, for Windows Universal Apps and Classic Win32 applications on Windows 10 and beyond.
18 Sep 2015
Dmitriy Kozlov
Forms Designer has just gotten a new feature: the related items control is now able to do inline spreadsheet-style quick editing. This feature is supported in SharePoint 2013 and SharePoint Online in Office 365.
31 Aug 2015
Prava-MFS
Hello everyone, today I am going to share one basic thing, which you all may know about it. I am going to explain how can we create numbered list using CSS. So, let’s go through it quickly without wasting much of our time :). HTML provides us few ways of creating lists.
18 Sep 2015
Shvetsov Evgeniy
Type tricks (above described and other)
11 Sep 2015
Steve Naidamast
Common Sense Software Engineering – Part II; Requirements Analysis Due to the nature of this critical component to software development, this essay intends to present this subject in broad strokes to incite interest among developers in pursuing their own development agendas properly.
8 Sep 2015
matthewproctor
The Skype Web SDK requires that the Unified Communications Web API (UCWA) framework is installed and enabled on your Front-End, Edge and Director servers.
26 Sep 2015
Mosi_62
Writing a I/O device driver for Raspberry Pi
21 Jan 2016
Sreram K
This explains the working of a program that solves Sudoku puzzles.
16 Sep 2015
Ed Nutting
In this article I discuss the innovative approach, taken by FlingOS, to teaching OS and low-level development to high-level developers using C#.
12 Sep 2015
Shvetsov Evgeniy
Using C++ templates? Wish your template algorithm will be versatile and ready to work with the classes, which do not fully support the required interface? Want more functional programming with C++? Get it now!
2 Sep 2015
cocaf
The virtual inheritance helps to solve certain class design problems even if they are unrelated to the "deadly diamond of death".
8 Sep 2015
Michael Haephrati
Pixelating images for privacy protection while running a monitoring and surveillance software
16 Sep 2015
minor_28
Masm code editor with syntax highlighting, etc.
17 Sep 2015
Paulo Zemek
Simply put, the this variable is not a smart pointer.
18 Sep 2015
john morrison leon
observer_ptr<T>, a smart observer guaranteed to always be either valid or test as null. Transparently harnessing unique_ptr<T>'s custom deleter feature to detect object destruction.
8 Sep 2015
chetanvihite
In this post I am going to talk about Onion Architecture. There are several traditional architectures that exists in web world and each one of the architecture comes with its pros and cons. But most of the traditional architectures raises &#8230; Continue reading &#8594;
23 Sep 2015
Bartlomiej Filipek
How to apply the strategy pattern to a problem while designing a class hierarchy. What are the pros and cons of this approach?
23 Sep 2015
Shvetsov Evgeniy
Safe and versatile iterator for user types
6 Sep 2015
Passion4Code
Validation & security in MVC application
5 Sep 2015
Thinira
In this tip, we will discuss how to setup Angular 2.0 in Visual Studio and write a very basic “Todo” application.
16 Sep 2015
Michael Chourdakis
A combination of std::vector and std::list which does not copy or move elements in insertion and still has continuous memory
5 Sep 2015
Pragmateek
Introduction If you've already developed COM APIs with .Net, typically in C# with VBA as the consuming language, you've probably leveraged two powerful features: by-reference parameter passing that allows the API to change the input object itself, not only its ... Continue reading ...
27 Sep 2015
Fiyaz Hasan
Building a technical event management application with ASP.net 5 MVC and Entity Framework 7
15 Dec 2015
Will J Miller
This article details the necessary UITableViewDelegate methods required to fully support a form presented in a UITableView.
13 Sep 2015
Eric Z (Jing)
Justify your use of "friend" in C++
8 Sep 2015
matthewproctor
In a previous tutorial, we looked at how to interactively log in and send an instant message. It occurred to me that it would be remarkably simple to automate the process, so that a single JavaScript file could be used to simply send a message.
15 Sep 2015
Shvetsov Evgeniy
How to generate a random sequence of chars with the specified parameters (e.g., length, char sets, char count per set, etc.)
8 Sep 2015
Farhad Reza
A simple ChessBoard graphics using GDI32
23 Oct 2015
schollii
Classes that provide simple Pythonic enumeration of STL container items using range-for loop in C++11
29 Sep 2015
Sibeesh Passion
In this post we will discuss how we can apply CSS important in JQuery. We all know that we can not apply a important CSS property directly to an element. It does not work. But still there is a solution for that. Here I am going to share you that. I hope you will like [&#8230;]
23 Sep 2015
Bartlomiej Filipek
By default, Visual Studio (up to VS 2013) uses additional debug heap that slows down applications, even in Release mode. Read what you can do about this.
14 Sep 2015
Imran Abdul Ghani
There are several ways a user can add audio or video clips to a SharePoint page when editing the page in browser. Here we are going to discuss the following ways to embed a video to SharePoint. We will follow a step by step approach to achieve the desired output.
8 Sep 2015
matthewproctor
Sometimes connecting to or using the Skype Web SDK isn't as straight forward as you'd like. I'm collecting a list of common issues and scenarios below that can be used to help troubleshoot and identify deployment issues.
1 Sep 2015
Member 11794279
This is the first one of two posts concerning approach to build cost effective, but prepared for scaling systems, using ASP.NET Web API and Azure.In the era of building systems that aim to provide services at global scale, requirements for scalability and high availability are becoming our brea
8 Sep 2015
matthewproctor
Whilst building my next Pluralsight course, I've come across a few more scenarios and solutions to keep in mind, many specific to the Chrome web browser.
16 Sep 2015
Intel Corporation
In this article, we will introduce the components of INDE and show how developers can use them to create new applications and optimize existing applications. To start with Intel® INDE provides support for IDE integration.
16 Sep 2015
Intel Corporation
Intel Black Belt Lee Bamber describes the different ways that a computer can detect pulse, and explains how easy it is to do using the Intel RealSense F200 camera and the Intel RealSense SDK.

Current Participants

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

Axel Rietschin
Founder fastpictureviewer.com
Switzerland Switzerland
I'm the founder of Axel Rietschin Software Developments, based in Geneva, Switzerland and publisher of the FastPictureViewer product line, composed of a hardware-accelerated image viewer and a suite of image codecs for Windows, aimed at digital photographers, photo editors, photo enthusiasts and imaging professionals.

Our family of four is currently based in Redmond, WA, USA, where I work full-time for Microsoft as a Senior Dev, first on the Windows team - taking care of the Microsoft Raw Codec and creating the Photo Import API for Windows 10, then on the OneDrive Media team, where I helped create the next generation cloud-scale image processing and analysis pipelines, before returning to Windows in 2017 to join the Base Kernel team to work on the Windows kernel, specifically on virtualization through Windows Containers and other virtualization-based security technologies. You can follow me on LinkedIn and Twitter.
Bartlomiej Filipek
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.
chetanvihite
United States United States
No Biography provided
cocaf
Software Developer (Senior)
Canada Canada
No Biography provided
Dmitriy Kozlov
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
Ed Nutting
Student
United Kingdom United Kingdom
No Biography provided
Eric Z (Jing)
Technical Lead National Instruments
China China
Senior software engineer at National Instruments, to implement various Ethernet-based industrial protocols, e.g., EtherCAT. Favorite languages are C/C++ and Python. For fun, I like watching films (sci-fi, motion), walking, and various reading.
Farhad Reza
Software Developer
Bangladesh Bangladesh
আমি একজন লেখক। নিয়মিত বিজ্ঞান বিষয়ে লিখছি। আমি সবসময় এই আশঙ্কায় থাকি যে কখন একজন লেখক ও লেখকের পরিবারের সদস্যদের ওপর বিনাদোষে অনাকাঙ্ক্ষিত দুঃখজনক পরিস্থিতি এসে পড়ে।

I'm a Bangladeshi citizen. Currently, I live in the capital, Dhaka.

Followings are my current computer skills:

- OS Kernel developing.
- Programming language's compiler design and implement.
- Expert in C, C++ and Visual Basic and have basic knowledge on C#, D, Java.
- A few times used the Microsoft's new language F#.
- SQL Database programming.
- I've basic knowledge on lowest level programming language like assembly.
- Learning Mozilla’s Rust & Google’s GO programming language for software development.
- Code optimization for performance.
- Multi-threaded programming in C/C++ and Java.
- Know various advanced computer algorithm and have used them to develop graphics and simulation programs. Also working with Linear Algebra and keen to learn Quadratic Algebra in future.
- Graphics and Game programming (Both 2D and 3D).

Currently, I'm doing researches on compiler and programming language development. I've made various kind of software and now I want to share my experiences with people.

I love my country very much and I love all the peoples of my country. In fact, I love all the peoples live in this world. I love my country's independence. Since I'm becoming a writer, I feel insecure due to the fact that there are a lot of fake blames that are given to writers when they are totally innocent. It will happen as well as with their family.

Despite this bad situation, I'm proud of being Bengali and a Bangladeshi writer. I'm trying to take steps towards working on Computer Programming and also on Scientific subjects for my country. But it is too far from being a success and will require a lot of time due to my family's economic position.
Fiyaz Hasan
Architect Geek Hour
Bangladesh Bangladesh
Tech Enthusiast | Contributing Author on Microsoft Docs | Github Country Leader (C# and Typescript)

A .NET and JavaScript enthusiast. Likes to work with different technologies on different platforms. Loves the logic and structure of coding and always strives to write more elegant and efficient code. Passionate about design patterns and applying Software Engineering best practices.

I'm a young coder who did exceedingly well in my education and was offered an internship by Microsoft. I've tried a range of things and realized that what I need is a super creative challenge. I'm hungry for a real role in a challenging startup, something I can stick with for years
Imran Abdul Ghani
Software Developer (Senior) Emaratech
United Arab Emirates United Arab Emirates
Imran Abdul Ghani has more than 10 years of experience in designing/developing enterprise level applications. He is Microsoft Certified Solution Developer for .NET(MCSD.NET) since 2005. You can reach his blogging at WCF Tutorials, Web Development, SharePoint for Dummies.
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

john morrison leon
Software Developer (Senior)
Spain Spain
I love writing algorithms and creating infrastructures that solve problems and work with a lot of graphical visualisation if only to make sure that I can see it is all working properly. I do all of the serious work in C++.
John Torjo
Technical Lead
Romania Romania
Author of LogWizard.
matthewproctor
CEO Kutamo and ErrLog.IO
Australia Australia
Pluralsight Author, .Net Developer, Writer & Blogger

http://www.kutamo.com/
http://www.errlog.io/
http://www.matthewproctor.com/
http://www.pluralsight.com/author/matthew-proctor

I am an Australian IT professional based in Melbourne, Victoria, Australia.

I'm a polyglot programmer, being proficient in a number of languages and frameworks including C#, VB.Net, F#, Javascript, Perl, Powershell and Z80 & 6502 assembly. Smile | :)
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.turboirc.com
Michael Haephrati
CEO Secured Globe, Inc.
United States United States
Michael Haephrati, Musician and CEO and co-founder of Secured Globe, Inc. Worked on many ventures starting from HarmonySoft, designing Rashumon, the first Graphical Multi-lingual word processor for Amiga computer. During 1995-1996 he worked as a Contractor with Apple at Cupertino.

Can be hired here for freelancing work.





minor_28
Sweden Sweden
No Biography provided
Mosi_62
Software Developer (Senior) Ewag AG, Switzerland
Switzerland Switzerland
Computers are very straight... They always do exactly what we tell them to do... Only, much too often what we tell them to do is not really what we want them to do Smile | :)

Writing Software is one of the most creative tings one can do. I have been doing this for more than ten years now and still having a lot of fun with it. Besides doing software for HMI's on C# for business, I enjoy very much to implement interesting algorithms and analyse the mathematics they are based on in my leisure time Smile | :)

For more detailed descriptions and math visit me on my own page

www.mosismath.com
Passion4Code
Software Developer (Senior)
India India
No Biography provided
Paulo Zemek
Software Developer (Senior) Niantic
United States United States
I started to program computers when I was 11 years old, as a hobbyist, programming in AMOS Basic and Blitz Basic for Amiga.
At 12 I had my first try with assembler, but it was too difficult at the time. Then, in the same year, I learned C and, after learning C, I was finally able to learn assembler (for Motorola 680x0).
Not sure, but probably between 12 and 13, I started to learn C++. I always programmed "in an object oriented way", but using function pointers instead of virtual methods.

At 15 I started to learn Pascal at school and to use Delphi. At 16 I started my first internship (using Delphi). At 18 I started to work professionally using C++ and since then I've developed my programming skills as a professional developer in C++ and C#, generally creating libraries that help other developers do their work easier, faster and with less errors.

Want more info or simply want to contact me?
Take a look at: http://paulozemek.azurewebsites.net/
Or e-mail me at: paulozemek@outlook.com

Codeproject MVP 2012, 2015 & 2016
Microsoft MVP 2013-2014 (in October 2014 I started working at Microsoft, so I can't be a Microsoft MVP anymore).
Philipp Sch
Germany Germany
No Biography provided
Pragmateek
Instructor / Trainer Pragmateek
France (Metropolitan) France (Metropolitan)
To make it short I'm an IT trainer specialized in the .Net ecosystem (framework, C#, WPF, Excel addins...).
(I'm available in France and bordering countries, and I only teach in french.)

I like to learn new things, particularly to understand what happens under the hood, and I do my best to share my humble knowledge with others by direct teaching, by posting articles on my blog (pragmateek.com), or by answering questions on forums.
Prava-MFS
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.
schollii
Software Developer (Senior)
Canada Canada
No Biography provided
Shvetsov Evgeniy
Software Developer (Senior) https://www.simbirsoft.com
Russian Federation Russian Federation
C/C++ dеvеlopеr (MS VS/WinAPI)
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
Sreram K
Student
India India
I like programming and the only languages I use as of now are C/C++. I am doing my second year computer science engineering and my favorite topics in computer science are: Data structures, algorithm analysis, Artificial Intelligence and I also like to develop learning algorithms. Apart from computer science, I also have a great interest in mathematics and physics. I like solving problems in these areas. I also like writing programs that solve problems in these areas.

I maintain a blog. I don't update it much. Here is it's URL: www.creativitymaximized.com

And my place in github: https://github.com/sreramk/
Steve Naidamast
Software Developer (Senior) Black Falcon Software, Inc.
United States United States
No Biography provided
Thinira
Technical Lead ISM APAC (Pvt) Ltd
Sri Lanka Sri Lanka
No Biography provided
Vladimir Pavluk
Software Developer (Senior) FlyWheel
Russian Federation Russian Federation
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.

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