Click here to Skip to main content
15,868,164 members
This competition has ended

Best C++ Article of October 2014

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.
23 Oct 2014Ben M Watson
Using MemoryStream to wrap existing buffers: Gotchas and tips
Please Sign up or sign in to vote.
19 Oct 2014Issam Lahlali
In this post, you will learn basic "C" coding rules from open source projects
Please Sign up or sign in to vote.
8 Oct 2014Peri Venkatesh
This is an introduction to web services and soapUI.
Please Sign up or sign in to vote.
16 Oct 2014Artem 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.
Please Sign up or sign in to vote.
16 Oct 2014Gaurav 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.
Please Sign up or sign in to vote.
26 Oct 2014Biswal Tanmaya
In this blog, we will discuss how to cache your whole project.
Please Sign up or sign in to vote.
5 Oct 2014KarstenK
Some toughts whether to prefer Objective-C or Swift.
Please Sign up or sign in to vote.
16 Oct 2014Gaurav 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.
Please Sign up or sign in to vote.
16 Oct 2014CdnSecurityEngineer
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.
Please Sign up or sign in to vote.
25 Oct 2014CdnSecurityEngineer
Scalable Security Engagement Problem
Please Sign up or sign in to vote.
26 Oct 2014SkyProgger
This article describes the StorageManager class I have developed. It's created to save data beyond the Programs lifespan, as easy as possible.
17 Oct 2014Naveen 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.
Please Sign up or sign in to vote.
27 Oct 2014Evgeny 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.
Please Sign up or sign in to vote.
1 Jul 2015Chris La
How to create a server-client network quickly using IOCP TCP template server-client framework, EpServerEngine.cs (C#).
Please Sign up or sign in to vote.
1 Oct 2014Torben 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.
Please Sign up or sign in to vote.
22 Oct 2014Szymon Roslowski
This article is continuation about a HID USB Stack for Microchip PIC 16F1455 and the way of communicating with it on Windows Platform.
Please Sign up or sign in to vote.
28 Oct 2014David Serrano Martínez
I like work. It fascinates me. I can sit and look at it for hours. (Anonymous)
Please Sign up or sign in to vote.
20 Oct 2014JorgeLuisOrejel
ENIGMA
Please Sign up or sign in to vote.
28 Oct 2014Ajay K. Yadav
Binary Cracking & Byte Patching with IDA Pro
Please Sign up or sign in to vote.
24 Nov 2014David O'Neil
A short introduction to Object Oriented Programming with C++, showing the basics of objects and virtual functions in an approachable manner.
Please Sign up or sign in to vote.
30 Oct 2014Ui-Sing So
The method doesn't replace existing Computer Language. Natural Language and Computer Language have to cooperate with each other.
Please Sign up or sign in to vote.
30 Oct 2014Marius Bancila
MFC Collection Utilities is a small open-source library that enables you to use any MFC collection with range-based for loops.
Please Sign up or sign in to vote.
15 Oct 2014JorgeLuisOrejel
Balanced Multiway Trees
Please Sign up or sign in to vote.
20 Oct 2014Szymon Roslowski
This article is about a HID USB Stack for Microchip PIC 16F1455 and the way of communicating with it on Windows Platform.
Please Sign up or sign in to vote.
20 Oct 2014SergeiR[MCTS]
Demonstrates battmon tool for automotive battery live status, smart monitoring and stand-alone logging
Please Sign up or sign in to vote.
14 Oct 2014Yvan Rodrigues
A complete implementation of a dynamic MFC recordset
Please Sign up or sign in to vote.
3 Oct 2014Nisamudheen
Numerical concepts of NaN, IND, INF and DEN using C++.
Please Sign up or sign in to vote.
9 Jan 2017Michael 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.
Please Sign up or sign in to vote.
1 Mar 2016Evgeny 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.
Please Sign up or sign in to vote.
30 Oct 2014Vaclav 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.
Please Sign up or sign in to vote.
20 Aug 2018NewPast
Software protection & Decompiling software as a new cracking method
Please Sign up or sign in to vote.
2 Oct 2014biicode
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.
Please Sign up or sign in to vote.
21 Nov 2014Lộc Nguyễn
A C program to scan source file for tokens
Please Sign up or sign in to vote.
27 Nov 2015steveb
C++ numeric to string and string to numeric conversion functions
Please Sign up or sign in to vote.
5 Jan 2015Akos Mattiassich
A C++/CLI wrapper around MMAudioDeviceApi with notification support.
Please Sign up or sign in to vote.
30 Oct 2014ChristianNeumanns
This article series aims to answer the question: Should we return an empty list or 'null' from functions?
Please Sign up or sign in to vote.
15 Oct 2014Arthur Caputo
Tutorial on setting a false transparency onto your button's edges.
Please Sign up or sign in to vote.
8 Oct 2014Atle Solbakken
Are the programming languages we use for web design today really adapted well enough to fit our needs?
Please Sign up or sign in to vote.
30 Oct 2014Terrence Sheflin
Explains how to use HttpModule in conjunction with IIS to handle requests to fake directories
Please Sign up or sign in to vote.
9 Oct 2014Issam Lahlali
Some feedback to avoid common mistakes when porting a .NET application to Mac OSX
Please Sign up or sign in to vote.
12 Dec 2016Farhad Reza
A simple graphics class for 2D drawing
Please Sign up or sign in to vote.
14 Oct 2014Joren 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.
Please Sign up or sign in to vote.
28 Oct 2014bvinothraj
C++ Wrapper for Pipe-based IPC in Windows
Please Sign up or sign in to vote.
5 Oct 2014Schrödter
How to write data to SQLSERVER varbinary(MAX) columns in C++ using ADO
Please Sign up or sign in to vote.
26 Oct 2014Issam Lahlali
Here are some reasons why “Modern C++” adopted the generic programming
Please Sign up or sign in to vote.
7 Oct 2014biicode
In this post we will learn C++ templates in depth: Class and function templates, template parameters, variadic templates, all with in depth examples.
Please Sign up or sign in to vote.
3 Oct 2014SarmadAsghar
This is the second lock-free implementation (first is by H°akan Sundell) that only needs the single-word compare-and-swap atomic primitive.

Current Participants

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

Engineer exploitpress
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;
Hungary Hungary
I'm software developer & scrum master with several years of experience in project and line management.
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.
Brazil Brazil
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
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.
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.
This is a Organisation

3 members
Software Developer (Senior)
India India
I always believe Clean code & Quality code are the key points in Web Development.
Software Developer (Senior) Mindfire Solutions
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
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
Software Developer
United States United States
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[^]
Software Developer
Luxembourg Luxembourg
Curious programmer. Zealous simplifier. Lifelong student of life.
I care about creating software that is easy to use, reliable, and maintainable.
https://www.cnpp.dev
Software Developer www.randommonkeyworks.com
United States United States
I am the author of Laughing at the Devil: One Man’s Religious Discoveries. If you want to understand the astronomic investigations of our priests 3,000 years ago, LATD is the book to turn to. It opens up the thoughts that pushed them away from their earlier polytheism and towards our current definition of God.

Trained as a mechanical engineer, I have been involved with design, supervision, and project management. I taught myself C++ programming in order to play around with binaural beats more easily. I've also created various databases to help with project management and personal tasks.

Databases are cool and extremely useful! Happy coding, everybody!
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).
Software Developer
Australia Australia
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer Box
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer
Bangladesh Bangladesh
Hi, I'm Shah Farhad Reza. I'm a desktop and web software developer.

Recently I've developed an web based ERP (Enterprise Resource Planning) Software for a manufacturing company. The software is in use and working effectively fulfilling its goal (Alhamdulillah) - [February 10, 2023]

The areas of my expertise are the followings:

- 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 research on programming language and its compiler development. I've made various kind of software and now I want to share my experiences with people.

Chief Technology Officer
India India
Learning never ends.
Software Developer (Senior)
United States United States
CppDepend lead developer.
Taiwan Taiwan
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Netherlands Netherlands
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
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.
Software Developer
United States United States
while (live) {
try {
learn();
code();
food();
...
} catch (Exception ex) {
recover();
}
}
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.
CEO Secured Globe, Inc.
United States United States
Michael Haephrati is a music composer, an inventor and an expert specializes in software development and information security, who has built a unique perspective which combines technology and the end user experience. He is the author of a the book Learning C++ , which teaches C++ 20, and was published in August 2022.

He is the CEO of Secured Globe, Inc., and also active at Stack Overflow.

Read our Corporate blog or read my Personal blog.




Canada Canada
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Lebanon Lebanon
ASP.Net Hosting on Linux server
---------------------------
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
United States United States
Shooting for the Moon.
Tester / Quality Assurance
India India
Currently working as a software engineer, I am passionate about how things work, technology and science.
Team Leader VF
Pakistan Pakistan
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Germany Germany
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Architect Robotz Software
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer
United Kingdom United Kingdom
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Team Leader
Canada Canada
I am a Lead Software Architect (UI/UX), focusing mainly on developing with JavaScript, C#, ASP.NET WebApi and MVC.
Software Developer (Senior)
Denmark Denmark
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
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.
Engineer Robotic Assistance Devices / AITX
Canada Canada
Yvan Rodrigues has 30 years of experience in information systems and software development for the industry. He is Senior Concept Designer at Robotic Assistance Devices

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, the University of Waterloo as Information Systems Manager, and OTTO Motors as Senior Systems Engineer and Senior Concept Designer.

Yvan is currently focused on design of embedded systems.

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