Current area: HOME -> C / C++ -> C++ Tutorials Articles
C++ Tutorials
64-bits for C++ Developers: from /Wp64 to Viva64
The development of the 64-bit solutions market has given some new tasks in the field of their verification and testing. The article describes one of such tools - Viva64. It's a lint-like static code analyzer assigned for exposure of errors related with the peculiarities of the 64-bit platforms. The prerequisites for the creation of such an analyzer and its connection with the "Detect 64-Bit Portability Issues" regime in C++ compiler Visual Studio 2005 are covered in the article.
An Introduction to C++
A beginners guide to c++, consisting of 8 concise chapters for
downloading. Also includes instructions on getting and seeting
up the Borland compiler.
C Source codes
We now start some study corners, where we will try to teach some basics of the computer languages, with analyzing the programming logic and the syntaxes of the same, by providing the worked examples. Hereby we are presenting some basic worked examples, and its executable outputs of C compiler. One can find the downloadable source code and executable files packed in a .zip format in each links.
C++ and Object Orientation
This tutorial covers the basics of C++ and Object orientation.
- Encapsulation - Data Hiding - Constructors and Destructors as
Special Functions of C++ - Dynamic Memory Allocation -
Polymorphism and Polymorphic Functions - Overloading Operators
C++ Program Flow
Usually the code is executed one line at a time in ascending order. Using functions we can disrupt this flow but there are also other tools available, such as "for", "while" and "do while" statements, which allow us to do this in a different way. This tutorial will explain their use by creating a simple program to draw boxes make out of the "|" characters from the console.
C++ Ripped Apart
C++ tutorial covering computer science background, syntax, data types, operators, type conversion, logical expressions, control structures, formatting output, functions, pointers, arrays, array-type problems, user-defined types, header files, structures, enum types, graphics, classes, function/operator overloading, static variables, and much more. A must read for any student learning C++. Tutorial content derived from college level notes, examples, and projects.
Detail about How VPTR and Virtual table works
Assumption: 32-bit Machine.
Here I am going to explain How Virtual table, Virtual pointer for Virtual functions are internally working.
Introduction to Classes in C++
The data types we have applied so far to our variables were
used to identify individual items. To create more advanced and
complete objects, C++ allows you to group these identifiers and
create a newly defined Class. We will discuss Defining a class,
initializing, class members data/functions and how to interact
with calss objects.
Mouse programming in C/C++
This is an article which describes interfacing of the mouse using C/C++ programming.
It contains information about:
calling the mouse, hiding the mouse, setting the position of the mouse, restricting the mouse position
OOP C++ Templates Tutorial
This tutorial will teach you how to minimize typing time, debugging time and increase readability using Templates in C++. Both Function and Class Templates are explained.
OS Development Series
This is a series of on going tutorials developed specifically for beginner systems developers. Its aim is to provide the best and most informative information on developing a basic 32bit graphical operating system using NASM and C++ - Step by Step, and from the ground up.
This is a step by step series that is currently in development.
Persistent Data: File Input and Output
Persistence is important, particularly to programmers. Data should be persistent as well; that is, it should survive when the program is finished. This article will show you how to make your data persistent by saving it to a file.
Polymorphism in C++ plus. Machine code implementation
Teaches Polymorphism in C++ Including a special section showing
how the compiler implements a virtual table by disassembly of a
program that uses Polymorphism.
Programming - Other: Callbacks in C++
This text is a direct result of a few tests I did to get a better understanding of typesafe C++ callbacks. There are some excellent texts out there (see the links section), but they are presenting the final solution, without any lead as to why it is that way. More specifically, they point out the problems that their solution is avoiding, but they're not saying why another, more trivial solution, is bad. You'll quickly find out if you try to implement it, or, if you're a C++ expert, it'll be immediately obvious. However, if you're not an expert and have no time to implement, this text may help. I did some implementation work, and this text shows what the results are: instead of presenting the final solution and then explaining it top-down, we'll just work to the final solution by eliminating whatever doesn't work, and adding new desirable features as we go, in other words, building the templates bottom up.
Programming in C++
C++ tutorial covering comp sci background, syntax, data types, operators, type conversion, logical expressions, control structures, formatting output, functions, pointers, arrays, array-type problems, user-defined types, header files, structures, enum types, graphics, classes, function/operator overloading, static variables, and much more. A must read for anyone learning C++.
Some examples of the 64-bit code errors
While porting 32-bit software to 64-bit systems there may appear some errors in the code of applications which were written in C++ language. The cause for these hides in the alteration of the base data types (to be more exact, in the relations between them) with the new hardware platform.
SortKeyToMultiValueContainer C++ Container Template
This article proposes my personal approach to the problem of storing and retrieving data in memory through the lmtl::SortKeyToMultiValueContainer class template. Don't expect to find a replacement of STL, but a class template written to solve a special problem and that can be useful in building generic data structures.
Temporary Variables: Chasing Temporaries Away
There are situations in C++ when it is good to return the result of a function by value rather than by reference. There is usually a price to be paid, however...unless the compiler can be made to help.
Temporary Variables: Temporaries Are Not Necessarily Evil
In earlier articles, we learned about the problems the passing of objects by value can cause in C++. Returning objects by value, on the other hand, is not necessarily evil.
The forgotten problems of 64-bit programs development.
Though the history of 64-bit systems development makes more than a decade, the appearance of 64-bit version of OS Windows raised new problems in the sphere of development and testing applications. In the article there are considered some mistakes connected with 64-bit C/C++ code development to Windows. The reasons are explained according to which these mistakes didn't find their reflection in the articles devoted to the migration tasks and are unsatisfactorily detected by the majority of static analyzers.
Who's Afraid of C++? - the WWW version
If you're a programmer in a language other than C++, and want to upgrade your skills, then this book is something for you.