Click here to Skip to main content
14,163,348 members

Best C++ Article of October 2014

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.

23 Oct 2014
Ben M Watson
Using MemoryStream to wrap existing buffers: Gotchas and tips
19 Oct 2014
Issam Lahlali
In this post, you will learn basic "C" coding rules from open source projects
8 Oct 2014
Peri Venkatesh
This is an introduction to web services and soapUI.
16 Oct 2014
Artem Los
The requirement of performing several thousands of calculations (for example, during integration) led to the optimization with pre-scanned expressions. But the aim to make Mathos Parser even faster still remained.
16 Oct 2014
Gaurav Aroraa
In our previous posts we learned ‘What is S.O.L.I.D. Programming Principles and a detailed explanation with code of Single Responsibility Principle, Open/closed Principle, Liskov Substitution Principle and Interface Segregation Principle.
26 Oct 2014
Biswal Tanmaya
In this blog, we will discuss how to cache your whole project.
5 Oct 2014
KarstenK
Some toughts whether to prefer Objective-C or Swift.
16 Oct 2014
Gaurav Aroraa
History: In our previous posts we learned ‘What is S.O.L.I.D. Programing Principles’ and a detailed explanation with code of Single Responsibility Principle and Open/closed Principle. S.O.L.I.D. is an acronym introduced by Michael Feathers as: 1.
16 Oct 2014
CdnSecurityEngineer
When you want to buy something that you can afford, what do you do? Well if you’re like most people you go to some financial institution and take out a loan in the amount of the item you wish to…Read more ›The post Application Security Economics appeared first on Security Synergy.
25 Oct 2014
CdnSecurityEngineer
Scalable Security Engagement Problem
26 Oct 2014
SkyProgger
This article describes the StorageManager class I have developed. It's created to save data beyond the Programs lifespan, as easy as possible.
27 Oct 2014
Evgeny Pereguda
This article presents brief review on fractal transformation - element of the Chaos Theory and presents its real implementation - new technology of compression of audio data.
1 Jul 2015
Woong Gyu La
How to create a server-client network quickly using IOCP TCP template server-client framework, EpServerEngine.cs (C#).
1 Oct 2014
Torben Trindkaer Nielsen
This article presents the recursive connected component labelling algorithm with a workaround for the stack limitation. All in less than 70 lines of C/C++ code.
28 Oct 2014
David Serrano Martínez
I like work. It fascinates me. I can sit and look at it for hours. (Anonymous)
22 Oct 2014
Szymon Roslowski
This article is continuation about a HID USB Stack for Microchip PIC 16F1455 and the way of communicating with it on Windows Platform.
20 Oct 2014
JorgeLuisOrejel
ENIGMA
28 Oct 2014
Ajay K. Yadav
Binary Cracking & Byte Patching with IDA Pro
24 Nov 2014
David O'Neil
A short introduction to Object Oriented Programming with C++, showing the basics of objects and virtual functions in an approachable manner.
30 Oct 2014
Ui-Seng So
The method doesn't replace existing Computer Language. Natural Language and Computer Language have to cooperate with each other.
15 Oct 2014
JorgeLuisOrejel
Balanced Multiway Trees
30 Oct 2014
Marius Bancila
MFC Collection Utilities is a small open-source library that enables you to use any MFC collection with range-based for loops.
20 Oct 2014
SergeiR[MCTS]
Demonstrates battmon tool for automotive battery live status, smart monitoring and stand-alone logging
14 Oct 2014
Yvan Rodrigues
A complete implementation of a dynamic MFC recordset
20 Oct 2014
Szymon Roslowski
This article is about a HID USB Stack for Microchip PIC 16F1455 and the way of communicating with it on Windows Platform.
3 Oct 2014
Nisamudheen
Numerical concepts of NaN, IND, INF and DEN using C++.
9 Jan 2017
Michael Haephrati
This article explains how the Skype account details are stored, how to fetch this information and in general, how to interpret XML files using Rapid XML library.
1 Mar 2016
Evgeny Zavalkovsky
`Memoization' of a computation result makes computation faster by trading space for time. Here you will see extremely simple and "easy to use" Memoization Infrastructure.
30 Oct 2014
Vaclav Naydenov
How C++ library YB.ORM can help manipulate the data stored in RDBMS using domain classes. Basic concepts of ORM are explained by examples.
20 Aug 2018
NewPast
Software protection & Decompiling software as a new cracking method
2 Oct 2014
biicode
This posts tries to introduce template metaprogramming to the average C++ programmer, showing how it works, what can do, and finally leading with its problems trying to make it easier than in the old days of C++98, thanks to C++11 and C++14 language improvements.
21 Nov 2014
Lộc Nguyễn
A C program to scan source file for tokens
27 Nov 2015
steveb
C++ numeric to string and string to numeric conversion functions
5 Jan 2015
Akos Mattiassich
A C++/CLI wrapper around MMAudioDeviceApi with notification support.
30 Oct 2014
ChristianNeumanns
This article series aims to answer the question: Should we return an empty list or 'null' from functions?
8 Oct 2014
Atle Solbakken
Are the programming languages we use for web design today really adapted well enough to fit our needs?
15 Oct 2014
Arthur Caputo
Tutorial on setting a false transparency onto your button's edges.
30 Oct 2014
Terrence Sheflin
Explains how to use HttpModule in conjunction with IIS to handle requests to fake directories
9 Oct 2014
Issam Lahlali
Some feedback to avoid common mistakes when porting a .NET application to Mac OSX
12 Dec 2016
Forhad Reza
A simple graphics class for 2D drawing
14 Oct 2014
Joren Heit
PiCom is a protocol/C++-class that handles communication between 2 RaspberryPi's that are connected through their GPIO pins. PiFTP is a file-transfer protocol that uses PiCom as its interface to send files across the GPIO.
28 Oct 2014
bvinothraj
C++ Wrapper for Pipe-based IPC in Windows
26 Oct 2014
Issam Lahlali
Here are some reasons why “Modern C++” adopted the generic programming
7 Oct 2014
biicode
In this post we will learn C++ templates in depth: Class and function templates, template parameters, variadic templates, all with in depth examples.
3 Oct 2014
SarmadAsghar
This is the second lock-free implementation (first is by H°akan Sundell) that only needs the single-word compare-and-swap atomic primitive.
5 Oct 2014
Schrödter
How to write data to SQLSERVER varbinary(MAX) columns in C++ using ADO
17 Oct 2014
Naveen Gv
This article presents the advantages of developing embedded digital video surveillance systems to run on 4th generation Intel® Core™ processor with Intel® HD Graphics, in combination with the Intel® System Studio software development suite.

Current Participants

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

Ajay K. Yadav
Engineer Cyberbrilliance.com
India India
Ajay Yadav is an author, Cyber Security Specialist, Subject-Matter-Expert, Software Engineer, and System Programmer with more than eight years of work experience on diverse technology domains. He earned a Master and Bachelor Degree in Computer Science, along with numerous premier professional certifications from Microsoft, EC-council, and Red-hat. For several years, he has been researching on Reverse Engineering, Secure Source Coding, Advance Software Debugging, Vulnerability Assessment, System Programming and Exploit Development. He is a regular contributor to various international programming journals as well as assists developer community with writing blogs, research articles, tutorials, training material and books on sophisticated technology. His spare time activity includes tourism, movies and meditation. He can be reached at om.ajay007@gmail.com;
I'm software developer & scrum master with several years of experience in project and line management.
Artem Los
Student
Sweden Sweden
My name is Artem, and I am a student at the School of Electrical Engineering and Computer Science at KTH Royal Institute of Technology.

Currently working on https://cryptolens.io.
Arthur Caputo
Brazil Brazil
No Biography provided
Atle Solbakken
United States United States
No Biography provided
Ben M Watson
Software Developer (Senior) Microsoft
United States United States
Ben Watson has been a software engineer at Microsoft since 2008. On the Bing platform team, he has built one of the world's leading .NET-based, high-performance server applications, handling high-volume, low-latency requests across thousands of machines for millions of customers. In his spare time, he enjoys geocaching, books of all kinds, classical music, and spending time with his family. He is the author of Writing High-Performance .NET Code and C# 4.0 How-To. He blogs at Philosophical Geek.
biicode
Software Developer biicode
Spain Spain
biicode is a C/C++ dependencies manager with a hosting service. For C/C++ developers that think a dependency manager is needed, biicode is a multiplatform tool and hosting service that allows you to build your projects easily, integrate third party code and reuse code among projects with just #includes.
Group type: Organisation

3 members

Biswal Tanmaya
Software Developer (Senior)
India India
I always believe Clean code & Quality code are the key points in Web Development.
bvinothraj
Software Developer (Senior) Mindfire Solutions
India India
No Biography provided
CdnSecurityEngineer
Engineer
Canada Canada
I am a Sr Engineer for a major security firm; I have been developing software professionally for 8 years now; I've worked for start ups, small companies, large companies, myself, education. Currently the company I work for has 7,000+ employees worldwide. I am responsible for our platform security, I write code, implement features, educate other engineers about security, I perform security reviews, threat modeling, continue to educate myself on the latest software. By night, I actively work to educate other developers about security and security issues. I also founded a local chapter of OWASP which I organize and run.

I cut my teeth developing in C++ and it's still where my heart is with development, lately I've been writing a lot of C# code & some java, but I do have a project or two coming out in C++ /DiectX 11 whenever I get the time.

When I am not developing code I am spending my time with my wife and daughter or I am lost deep in the woods some where on a camping trip with friends. If you can't find me with a GPS and a SPOT device then chances are I am on the Rugby pitch playing Rugby and having a great time doing so.


You can find more about me and My thoughts on security
ChristianNeumanns
Software Developer PPL
Luxembourg Luxembourg
Passionate Software Developer; Professional Simplifier; Bug Hunter (still dreaming of 'number of bugs: 0')

http://www.practical-programming.org
David O'Neil
Software Developer www.randommonkeyworks.com
United States United States
I am the author of Laughing at the Devil: One Man’s Religious Discoveries. For those who are “ready to look at the world - religion, science, spirituality - differently,” LATD is the book to turn to.

In about 1994 I began studying and documenting the astronomy of our ancestors. A hint lead to many years of partial understanding, before a profound breakthrough occurred and some old myths finally made sense.

The greatest of my discoveries is the celestial observations behind the biblical tale of Samson, which was created 3,000 years ago. That find casts a profound new light on the roots of Western religion, as well as the foundation of modern science. To learn more, visit my website.

Trained as a mechanical engineer, I learned C++ programming on my own in order to create a MIDI program. I am delighted to say I also succeeded in that goal. Happy coding, everybody!
David Serrano Martínez
Systems Engineer
Spain Spain
I work as a senior industrial engineer for Public Administration in Spain. I have experience in developing software for ballistic computations. I like maths and programming and, above all, riding my mountain bike. Contact me at davidalvi (at gmail dot com).
Evgeny Pereguda
Software Developer
Australia Australia
No Biography provided
Evgeny Zavalkovsky
Software Developer Box
United States United States
No Biography provided
Forhad Reza
Software Developer
Bangladesh Bangladesh
আমি একজন লেখক। নিয়মিত বিজ্ঞান বিষয়ে লিখছি। আমি সবসময় এই আশঙ্কায় থাকি যে কখন একজন লেখক ও লেখকের পরিবারের সদস্যদের ওপর বিনাদোষে অনাকাঙ্ক্ষিত দুঃখজনক পরিস্থিতি এসে পড়ে।

I'm a Bangladeshi and a citizen of Bangladesh living in Dhaka. I'm 18 years old and I've lots of experiences on computer programming. Followings are my current skills:

- Kernel (Windows & Linux) research (which is the heart of any operating system).
- Compiler design and implement.
- Expert in C, C++ and Visual Basic.
- I've the knowledge and basic experience on some other languages such as C#, D, Java etc.
- I believe I'm also good in F# language.
- Database programming.
- The world toughest programming language called Assembly, I can use it very easily.
- Working with 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 experience 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.
Gaurav Aroraa
Architect
India India
There is no age limit for learning and its never late, to start.
Issam Lahlali
Software Developer (Senior)
United States United States
CppDepend lead developer.
Joren Heit
Netherlands Netherlands
No Biography provided
JorgeLuisOrejel
United States United States
No Biography provided
KarstenK
Software Developer
Germany Germany
I am living in germany and now living from programming for some Years. In my spare time I like sports as jogging, playing football (soccer) and basketball.

We must take care for our planet, because we and our family has no other. And everybody has to do something for it.
Lộc Nguyễn
Software Developer
United States United States
while (live) {
try {
learn();
code();
food();
...
} catch (Exception ex) {
recover();
}
}
Marius Bancila
Architect Visma Software
Romania Romania
Marius Bancila is the author of Modern C++ Programming Cookbook and The Modern C++ Challenge. He used to be a Microsoft MVP for VC++ and later Visual Studio and Development Technologies for 11 years. He works as a system architect for Visma, a Norwegian-based company. He is mainly focused on building desktop applications with VC++ and VC#. He keeps a blog at http://www.mariusbancila.ro/blog, focused on Windows programming. He is the co-founder of codexpert.ro, a community for Romanian C++ programmers. You can follow Marius on Twitter at @mariusbancila.
Michael Haephrati
CEO Secured Globe, Inc.
United States United States
Michael Haephrati, 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.


Naveen Gv
Canada Canada
No Biography provided
NewPast
Lebanon Lebanon
---------------------------
There is a developer behind every piece of code!
DNA is too complex what about it!
No junk DNA; There is a functional role for noncoding DNA
Nisamudheen
Software Developer
India India
Shooting for the Moon.
Peri Venkatesh
Tester / Quality Assurance
India India
Currently working as a software engineer, I am passionate about how things work, technology and science.
SarmadAsghar
Team Leader VF
Pakistan Pakistan
No Biography provided
Schrödter
United States United States
No Biography provided
SergeiR[MCTS]
United States United States
No Biography provided
SkyProgger
Germany Germany
No Biography provided
steveb
Architect Robotz Software
United States United States
No Biography provided
Szymon Roslowski
Software Developer
United Kingdom United Kingdom
No Biography provided
Terrence Sheflin
Team Leader
Canada Canada
I am a Lead Software Architect (UI/UX), focusing mainly on developing with JavaScript, C#, ASP.NET WebApi and MVC.
Torben Trindkaer Nielsen
Software Developer (Senior)
Denmark Denmark
No Biography provided
Ui-Seng So
Taiwan Taiwan
No Biography provided
Vaclav Naydenov
Software Developer (Senior) Yandex
Russian Federation Russian Federation
Senior developer at Yandex:
Billing System application logic and WEB-interface development,
Communication protocols for various Payment Systems.
Teacher of Computer Science at Moscow State University of Mechanical Engineering.
Woong Gyu La
Software Developer
Canada Canada
Woong Gyu La had been working as a software developer for over 8 years.
His personal interests are improving his personal projects,

EpLibrary (Visual C++ Utility Library)
https://github.com/juhgiyo/EpLibrary[^]

EpOraLibrary (Oracle OCI Wrapper Library for Visual C++)
https://github.com/juhgiyo/EpOraLibrary[^]

EpServerEngine (Visual C++ WinSock Server/Client Engine)
https://github.com/juhgiyo/EpServerEngine[^]

And other projects can be found at
https://github.com/juhgiyo?tab=repositories[^]

Finally, my other articles can be found at
http://www.codeproject.com/Articles/juhgiyo#articles[^]

You can contact me at juhgiyo@gmail.com[^]
Yvan Rodrigues
Systems Engineer Clearpath Robotics
Canada Canada
Yvan Rodrigues has 25 years of experience in information systems and software development for the industry. He is Senior Systems Developer at Clearpath Robotics

He is a Certified Technician (C.Tech.), a professional designation granted by the Institute of Engineering Technology of Ontario (IETO).

Yvan draws on experience as owner of Red Cell Innovation Inc., Mabel's Labels Inc. as Manager of Systems and Development, and the University of Waterloo as Information Systems Manager.

Yvan supports open-source software. He is a committer for SharpKit (C# to Javascript cross-compiler) and WebIssues (Issue/Ticket Management System), TinyMCE (JavaScript editor), and contributes to MySQL, Ghostscript, iTextSharp, Bacula, FreeBSD, and Xamarin.

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 Oct - 31 Oct 2014

Advertise | Privacy | Cookies | Terms of Service
Web02 | 2.8.190518.1 | Last Updated 1 Oct 2014
Copyright © CodeProject, 1999-2019
All Rights Reserved.
Layout: fixed | fluid