<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">

<rss version="0.91">
	<channel>
		<title>TrooBloo - C++</title>
		<description>Articles and tutorials regarding C++</description>
		<link>http://www.troobloo.com/tech/cplusplus.shtml</link>
		<language>en-us</language>

		<item>
			<title>C++ Preprocessor: Always Assert Your Code Is Right</title>
			<link>http://www.devarticles.com/c/a/Cplusplus/C-plus-plus-Preprocessor-Always-Assert-Your-Code-Is-Right/</link>
			<description>(Page 1 of 4 ) Are you looking for a way to speed up the debugging process in C++? This article explains how to use asserts to do just that, showing that not all macros are evil. If a man begins with certainties, he shall end in doubts; But if he will be content to begin with doubts, He shall end in certainties. [Francis Bacon 1561-1626] Assertive Programming If there is one thing I have learned over the past few years, it is not to underestimate the power of assert(). It comes with...</description>
		</item>

		<item>
			<title>Multithreading in C++</title>
			<link>http://www.devarticles.com/c/a/Cplusplus/Multithreading-in-C/</link>
			<description>( Page 1 of 11 ) Multithreading is growing in importance in modern programming for a variety of reasons, not the least of which being that Windows supports multithreading. While C++ does not feature built-in support for multithreading, it can be used to created multithreaded programs, which is the subject of this article. It is taken from chapter three of The Art of C++ , written by Herbert Schildt (McGraw-Hill/Osborne, 2004; ISBN: 0072255129). Multithreading is becoming an increasingly...</description>
		</item>

		<item>
			<title>Who`s Afraid to Be Const Correct? Reading Const Correctly in C++</title>
			<link>http://www.devarticles.com/c/a/Cplusplus/Whos-Afraid-to-Be-Const-Correct-Reading-Const-Correctly-in-C-plus/</link>
			<description>( Page 1 of 6 ) You can do more with the const keyword in C++ than you can in C. Many programmers avoid using it, however, in part because it can be a little tricky to understand at first. Jun Nakamura explains how to use the keyword, and the excellent effect it can have on your code. Introduction The const keyword has become quite versatile when you compare its abilities in C++ to its abilities in C. Unfortunately I have to say that I see more programmers avoiding it than using it to...</description>
		</item>

		<item>
			<title>A Simple Garbage Collector for C++</title>
			<link>http://www.devarticles.com/c/a/Cplusplus/A-Simple-Garbage-Collector-for-C-plus-plus/</link>
			<description>( Page 1 of 12 ) The use of dynamically allocated memory must be managed, because it has a tremendous effect on the performance of your programs. The current trend in handling dynamic memory seems to be shifting toward an automated approach. While C++ uses the manual approach for managing dynamic memory, this does not mean that it can't be automated in that language -- thus giving the C++ programmer the best of both worlds. This article explains how to do it. It is excerpted from...</description>
		</item>

		<item>
			<title>C++ in Theory: Why the Double Check Lock Pattern Isn`t 100% Thread Safe</title>
			<link>http://www.devarticles.com/c/a/Cplusplus/C-plus-in-Theory-Why-the-Double-Check-Lock-Pattern-Isnt-100-ThreadSafe/</link>
			<description>( Page 1 of 6 ) Back in January, Jun Nakamura discussed Singletons in a series of three articles, and revisited the subject in May. In the May article, he described the Double Checked Locking Pattern as a way to make Singletons thread safe. Unfortunately, it's not that simple, as he explains in this article. If you wish to catch up with the articles from January covering the Singleton, you may do so here: C++ in Theory: The Singleton Pattern Part 1 C++ in Theory: The Singleton Pattern...</description>
		</item>

		<item>
			<title>C++ Preprocessor: The Code in the Middle</title>
			<link>http://www.devarticles.com/c/a/Cplusplus/C-plus-plus-Preprocessor-The-Code-in-the-Middle/</link>
			<description>(Page 1 of 6 ) In this article, we examine instructions given to the preprocessor and see how they are used in general. The preprocessor handles your code before the compiler interprets it. If you have been wondering just what the preprocessor is used for, this article explains. Whence and what art thou, execrable shape? [John Milton 1608-1674] The Preprocessor and the Compiler Before the compiler interprets your code, the preprocessor handles it. Its task is to scan through your code...</description>
		</item>

		<item>
			<title>C++ in theory: Bridging Your Classes with PIMPLs</title>
			<link>http://www.devarticles.com/c/a/Cplusplus/Cplusplus-in-theory-Bridging-Your-Classes-with-PIMPLs/</link>
			<description>( Page 1 of 4 ) Very often, when a program takes longer to compile after you have made what appear to be trivial changes, the blame can be laid at the door of dependency chains between header files. One change can trigger the need for a massive rebuild. J. Nakamura explains a way to make header files insensitive to any change -- thus saving all that rebuild time -- by using pimpl. Looking For Problems Large development projects can become a drain... not just on your brain, but on your...</description>
		</item>

		<item>
			<title>C++ In Theory: The Singleton Pattern, Part 2</title>
			<link>http://www.devarticles.com/c/a/Cplusplus/C-plus-plus-In-Theory-The-Singleton-Pattern-Part-2/</link>
			<description>( Page 1 of 4 ) In our second article on the Singleton pattern, J. Nakamura discusses a reusable code version of the pattern. In the previous article I introduced a design pattern named the Singleton as it is described in the book Design Patterns [Gamma]. Design patterns are very useful for describing solutions to common problems that software engineers often encounter. The Singleton pattern is a solution to the desire to have only one object of a class instantiated during the lifetime...</description>
		</item>

		<item>
			<title>C++ In Theory: The Singleton Pattern, Part I</title>
			<link>http://www.devarticles.com/c/a/Cplusplus/C-plus-plus-In-Theory-The-Singleton-Pattern-Part-I/</link>
			<description>( Page 1 of 5 ) Have you ever wondered how to implement a class with simple logging functionality? J. Nakamura explains how to do it in a way that makes use of the Singleton pattern. There is a great book called Design Patterns [Gamma] that encapsulates knowledge trapped inside the heads of experienced programmers, presenting it in understandable and useable chunks. Solutions to a lot of design problems often turn out to be the same, even when programmers discover them independently....</description>
		</item>

		<item>
			<title>Temporary Variables: Procrastination is the Thief of Time</title>
			<link>http://www.devarticles.com/c/a/Cplusplus/Temporary-Variables-Procrastination-is-the-Thief-of-Time/</link>
			<description>( Page 1 of 6 ) C++ is a powerful programming language to learn, in part because it gives you full control over memory management. This is a two-edged sword, however; it lets you improve the performance of your code, but it also lets you shoot yourself in the foot. Therefore, it is important to understand the C++ compiler. This article examines how and why the compiler creates temporary objects, among other topics. Performance is wasted when you know the value of everything but the...</description>
		</item>

		<item>
			<title>Temporary Variables: Chasing Temporaries Away</title>
			<link>http://www.devarticles.com/c/a/Cplusplus/Temporary-Variables-Chasing-Temporaries-Away/</link>
			<description>( Page 1 of 5 ) 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. Jun Nakamura explains.&gt; There are only two qualities in the world: efficiency and inefficiency. &gt; And only two sorts of people: the efficient and the inefficient. (G. Bernard Shaw 1856-1950) Finding the Closest Enemy In the previous article we discovered that there are...</description>
		</item>

		<item>
			<title>Secure C++: Checked Iterators for Safer STL Coding</title>
			<link>http://www.developer.com/net/cplus/article.php/3582586</link>
			<description>By Nick Wienholt The C++ language, STL, and the Standard C++ Libraries are much more modern and robust than the C language and C Runtime Libraries. As the security of software is strongly tied to its robustness, it comes as no surprise that the security issues with Standard C++ are much less severe than those of C and the CRT. Nevertheless, a few exploits are possible with Standard C++, and a new functionality in Visual C++ closes these loop-holes. STL makes heavy use of iterators for...</description>
		</item>

		<item>
			<title>Temporary Variables: Keep Your Values Close, and Your References and Pointers Even Closer</title>
			<link>http://www.devarticles.com/c/a/Cplusplus/Temporary-Variables-Keep-Your-Values-Close-and-Your-References-and-Pointers-Even-Closer/</link>
			<description>( Page 1 of 6 ) As you know, in programming C++, it is much better to return a reference to an object than it is to return that object by value. As we will see in this article, it is also much better to pass a function parameter by reference than it is to pass it by value. But there are exceptions to this, as Jun Nakamura explains. You will find it a very good practice always to verify your references, sir. [Martin Routh 1755-1854] Finding the Closest Enemy We have been looking at...</description>
		</item>

		<item>
			<title>Managed C++: Debugging with the StackTrace Class</title>
			<link>http://www.developer.com/net/cplus/article.php/3441021</link>
			<description>By Tom Archer As a C++ developer, you're more accustomed than most to looking at the call stack during your debugging sessions. As an extension of that, many times you need a way to programmatically retrieve stack information during the execution of your application. Unfortunately, for a long time the best you had for this task was the standard __FILE__ and __LINE__ directives. This week's tip introduces the StackTrace and StackFrame classes, which enable you to walk up the entire...</description>
		</item>

		<item>
			<title>C++ Idioms in BREW: Better Interfaces</title>
			<link>http://www.developer.com/ws/brew/article.php/3501761</link>
			<description>By Radu Braniste Go to page: 1 2 Next Why Static Interfaces in C++ Usually, an interface describes in an abstract way a contract having to be fulfilled by classes implementing that interface. Unfortunately, C++ does more than this when expressing the idea of an interface through Abstract Base Classes (ABC)-all the functions have to be additionally declared pure virtual. This condition is orthogonal to the concept of an interface and at many times superfluous. There are already languages...</description>
		</item>

		<item>
			<title>More on Handling Basic Data Types</title>
			<link>http://www.devarticles.com/c/a/Cplusplus/More-on-Handling-Basic-Data-Types/</link>
			<description>( Page 1 of 13 ) Have you ever wanted to learn how basic types of C++ variables interact in complex situations? Ivor Horton explains this, and also describes some interesting features of C++. This article is from chapter 3 of Ivor Horton's Beginning ANSC C++ The Complete Language (Apress, 2004; ISBN 1590592271). IN THIS CHAPTER, I expand on the types that I discussed in the previous chapter and explain how variables of the basic types interact in more complicated situations. I also...</description>
		</item>

		<item>
			<title>Visual C++ 2005 IDE Enhancements</title>
			<link>http://www.developer.com/net/cplus/article.php/3469081</link>
			<description>By Nick Wienholt With all the changes to the C++ language, improvements in the IDE have not been given a great deal of attention. Despite the lack of publicity, the IDE improvements are quite significant. They will drastically improve the developer experience on a day-to-day basis. The number of improvements is large and broad-everything from enhancements to the Server Explorer through to IntelliSense support for macros, and UML-like Class Diagrams through to support for the new MSBuild...</description>
		</item>

		<item>
			<title>Managed C++: Loading and Displaying Images</title>
			<link>http://www.developer.com/net/cplus/article.php/3439411</link>
			<description>By Tom Archer One of the biggest drawbacks of programming in Visual C++/MFC was its lack of support for even the most basic of imaging functions-such as loading and displaying an image. Therefore, this article illustrates how incredibly easy .NET makes displaying a user-selected image and allowing the user to dynamically resize that image. The File Open Dialog The following figure shows the accompanying demo for this article. As you can see, the user can select an image file to display:...</description>
		</item>

		<item>
			<title>Function Pointers, part 3</title>
			<link>http://www.devarticles.com/c/a/Cplusplus/Function-Pointers-part-3/</link>
			<description>( Page 1 of 4 ) In previous articles, Jun Nakamura introduced using regular function pointers, C++ class member function pointers, and declaring pointers to the members of classes. In this article, he writes about calling conventions, callback functions, and begins to talk about using functors. There are many programming languages out there and a lot of them come with very useful libraries and APIs. It is possible to tie all these different libraries (coded in different languages)...</description>
		</item>

		<item>
			<title>Managed C++: Determining User Security Roles</title>
			<link>http://www.developer.com/net/cplus/article.php/3461401</link>
			<description>By Tom Archer Go to page: 1 2 Next In my previous article (&quot; Managed C++: Retrieving User's Windows Security Information &quot;), I mentioned that there are times when an application can benefit from knowing specific Windows security information about a user. For example, in a recent spyware detection/removal system that I wrote, the code needed to delete certain files and, if those files were in use, mark them for deletion via the registry. This latter part involved changing certain...</description>
		</item>

		<item>
			<title>Visual C++ 2005 IDE Enhancements, Part 2</title>
			<link>http://www.developer.com/net/cplus/article.php/3488546</link>
			<description>By Nick Wienholt Go to page: 1 2 Next In a continued examination of the new Visual C++ 2005 IDE Enhancements, this article looks at the code definition window, editor enhancements, changes to class view, and finally, one of the big new additions to Visual C++: the class diagram. IntelliSense Revisited (Briefly) Part 1 of this series on the Visual C++ 2005 IDE covered enhancements to IntelliSense as they relate to macros and displayed a screen shot of the IntelliSense tool-tips for the...</description>
		</item>

		<item>
			<title>VSTS Annotations for C++: Beyond Just Documenting Method Behavior</title>
			<link>http://www.developer.com/net/cplus/article.php/3596961</link>
			<description>By Nick Wienholt Since Visual C++ 6.0 shipped in 1998, Microsoft's interest and commitment to C++ seem to have been slipping. C# has clearly replaced C++ as Microsoft's premier language for application development, and it feels as though C++ has been treated as an afterthought for many of the great new features that Visual Studio .NET has launched. Although this perception unarguably has been true to an extent, Microsoft is still very committed to C++; Redmond actually is the largest...</description>
		</item>

		<item>
			<title>A C++ Macro to Stub Interface Methods</title>
			<link>http://www.developer.com/net/cplus/article.php/3354011</link>
			<description>By Kate Gregory Go to page: 1 2 3 Next In my previous column , I showed how to create a class library in C++ that can be called from a macro, and presented a very simple function in the class library that adds braces for you, suitable for use after typing an if or for statement. In this column, I show you a somewhat meatier piece of code: a macro for use with a class that implements one or more interfaces. When you run the macro, it adds empty function bodies for all the functions in...</description>
		</item>

		<item>
			<title>Temporary Variables: Temporaries Are Not Necessarily Evil</title>
			<link>http://www.devarticles.com/c/a/Cplusplus/Temporary-Variables-Temporaries-Are-Not-Necessarily-Evil/</link>
			<description>( Page 1 of 4 ) 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. Jun Nakamura explains the finer points. A thing may look specious in theory and yet be ruinous in practice; A thing may look evil in theory, and yet be in practice excellent. [Edmund Burke 1729-1797] Finding the Closest Enemy In the first article I made my first attempt to write a function that could...</description>
		</item>

		<item>
			<title>A comparison of C/C++ and C#</title>
			<link>http://www.developerfusion.com/show/1743/</link>
			<description>Author John Godel Introduction You should know that many C/C++ developers have been asking this question: Is C# a new programming language or a new version of C/C++. My answer to both questions is that none of these definitions is true. Well, in this article I'm going to go under the hood and show you that C# is a cocktail of Java, C, C++ and Delphi/C++ Builder from Borland. Let's first take a look what C# programming language really is. What really is C#? &quot; John H. GODEL has an...</description>
		</item>

		<item>
			<title>Function Pointers, part 2</title>
			<link>http://www.devarticles.com/c/a/Cplusplus/Funtion-Pointers-part-2/</link>
			<description>( Page 1 of 4 ) In the previous article, Jun Nakamura introduced you to the use of regular function pointers, but when you write C++ code, you will be interested in C++ class member function pointers too. It is time to look at how to declare pointers to the members of classes you write for your applications. Class Member Function Pointer Syntax The declaration of a C++ member function pointer is a bit trickier than the regular ones we have seen so far and I have to say they look pretty...</description>
		</item>

		<item>
			<title>Managed C++: Read Image Data Using the ADO.NET DataReader</title>
			<link>http://www.developer.com/db/article.php/3465981</link>
			<description>By Tom Archer Go to page: 1 2 Next One of the first tasks I encountered when I started working with Managed C++ and ADO.NET was that of reading image data from a SQL Server database and then either saving or displaying the images. As an example, the standard SQL Server Northwind database has a table ( Employees ) that includes a Binary Large Object ( BLOB ) column that contains the image data for each employee. This article first lists the steps for reading this data using the .NET...</description>
		</item>

		<item>
			<title>Microsoft Extensions to C and C++</title>
			<link>http://www.msdnaa.com/Resources/display.aspx?ResID=2040</link>
			<description>The following are Visual C++ extensions to the ANSI C and ANSI C++ standards: Keywords Microsoft extends the C++ language with several additional keywords. For a complete list, see C++ Keywords in the C++ Language Reference. Keywords with two leading underscores are Microsoft extensions. Out of Class Definition of static const Integral (or enum) Members Under the standard (/Za), you need to make an out-of-class definition for data members. For example, class CMyClass { static const int...</description>
		</item>

		<item>
			<title>Visual C++ and CodeDom</title>
			<link>http://www.developer.com/net/cplus/article.php/3431041</link>
			<description>By Nick Wienholt Go to page: 1 2 Next The types within the System.CodeDom namespace are extremely important to most Managed C++ applications, regardless of whether the code actually uses these types directly. Wizard-generated code has always formed a large part of Visual C++ applications and, by virtue of its multi-language support, .NET needed a technology that separated the definition of logical code graphs from the actual production of source code. CodeDom is the technology that...</description>
		</item>

		<item>
			<title>Generate Custom Managed C++ Wrappers for Easier COM Interoperation Using DCOMSuds</title>
			<link>http://msdn.microsoft.com/msdnmag/issues/03/08/DCOMSuds/default.aspx</link>
			<description>Vishwas Lele This article assumes you're familiar with .NET, C++, and COM Level of Difficulty 1 2 3 Download the code for this article: DCOMSuds.exe (296KB) SUMMARY Now that you're writing managed code, you'll certainly want to use your existing COM components, but you can't simply call them directly. Instead, you have to wrap the COM component in a runtime-callable wrapper that acts as a proxy between the component and your managed code. While the CLR provides wrapper classes for this...</description>
		</item>

		<item>
			<title>Managed C++: Read and Write Registry Keys and Values</title>
			<link>http://www.developer.com/net/cplus/article.php/3449721</link>
			<description>By Tom Archer Programmatically accessing the Windows registry has always been a bit of a convoluted task. For this reason, a myriad C++ classes have been created over the years to enable easier and more intuitive access to the registry from Windows applications. Thankfully, the task of reading and writing registry keys and values is monumentally easier with the .NET framework. This article illustrates the following common registry tasks ( Figure 1 shows the mixed-mode MFC/.NET demo...</description>
		</item>

		<item>
			<title>Static Constructors in Managed C++</title>
			<link>http://www.developer.com/net/cplus/article.php/3325891</link>
			<description>By Kate Gregory I have a pet peeve. I hate to read &quot;C++ doesn't have &lt;some feature&gt; but C# does.&quot; Or sometimes it's worded &quot;&lt;some feature&gt;, which was always missing from C++, is now in C#.&quot; These annoy me because, while they are technically true, they are not usefully true. The feature under discussion may not be part of Standard C++, but if it's part of Managed C++, why go to C# to have it? If you're willing to target the .NET Framework and write a managed application, why not write in...</description>
		</item>

		<item>
			<title>Discovering C++ Idioms in BREW</title>
			<link>http://www.developer.com/ws/brew/article.php/3355691</link>
			<description>By Radu Braniste Go to page: 1 2 Next The following is a non-exhaustive list of recurring idioms in BREW, considered mainly from a C++ perspective. This is by no means a new enterprise, but the existing information is mostly scattered in articles, the BREW Forum[1], or knowledge bases[2][3]. The initial title was &quot;Design Patterns in BREW,&quot; but the term &quot;idiom&quot; was finally preferred, largely because idioms are defined as low-level patterns specific to one language and this is exactly...</description>
		</item>

		<item>
			<title>Intro to Managed C++, Part 2: Mixing Managed and Unmanaged Code</title>
			<link>http://www.oreillynet.com/pub/a/dotnet/2003/03/03/mcppp2.html</link>
			<description>by Sam Gentile 03/03/2003 Welcome back! Last time around, in the first article of the series , I focused on what Managed C++ was, some of its advantages and roles, as well as scenarios in which it excelled. One of those scenarios is the focus of the second article of this series: the ability to mix managed and unmanaged code in the same module . This is an ability that is unique to Managed C++; no other Common Runtime Library (CLR) language possesses this capability. In this article, I...</description>
		</item>

		<item>
			<title>Partial Template Specialization with Visual C++ .NET 2003</title>
			<link>http://www.developer.com/net/csharp/article.php/2217451</link>
			<description>By Kate Gregory C++ templates are like a secret weapon for developers. Those who never got around to learning C++ because &quot;it's really complicated&quot; and &quot;it has all kinds of funky features no one would ever use&quot; have no idea what we can do with templates. In my previous column , I showed how the collection templates in the Standard Template Library can save you a lot of casting and runtime type conversions, while giving you rock-solid type safety that saves you from simple errors of...</description>
		</item>

		<item>
			<title>Visual C++ Programming For Windows CE</title>
			<link>http://www.wirelessdevnet.com/channels/pda/training/vcce.html</link>
			<description>by Vincent W. Mayfield Introduction This article presents a quick and dirty tutorial to get you up and running and creating applications for Windows CE with Visual C++. If your interested in the basics of Windows CE, see the article titled Microsoft Windows CE: An Overview. This article will focus on Visual C++ for Windows CE. It assumes that you are familiar with Microsoft Visual C++, the leading C++ development tool for the Microsoft Windows platform. The Basics If you have been using...</description>
		</item>

		<item>
			<title>A Quick view from C/C++ to C#</title>
			<link>http://www.csharphelp.com/archives/archive118.html</link>
			<description>By John Godel There are many programming languages to program a computer. The most popular and basic ones are Basic, C, C++, Pascal, Java, and Assembler. Machine language is a collection of instructions, which controls the computer's hardware. Many programming languages are compilers and some programming languages are interpreters. Compilers translate the entire program into machine language before executing any of the instructions while interpreters proceed through a program by...</description>
		</item>

		<item>
			<title>Cross-Platform Game Development for C++ Developers, Part IV: ClanLib SDK</title>
			<link>http://www.developer.com/net/cplus/article.php/3532786</link>
			<description>By Victor Volkman Go to page: 1 2 3 Next ClanLib is a cross-platform C++ framework focused primarily on the needs of game developers. Although the API is streamlined for gaming, you could easily use ClanLib to develop a scientific 3D visualization tool or multimedia application (such as the Gecko Multimedia System ). ClanLib has APIs for 2D and 3D graphics, sound, network, I/O, input, and GUI and resource administration. It provides transparent support for OpenGL, so you can use native...</description>
		</item>

		<item>
			<title>Using ADO in C++ - Introduction</title>
			<link>http://www.developerfusion.com/show/4033/</link>
			<description>by Randy Charles Morin Read Comments Rate this resource Viewed 183 times Rating: 3 users 3.67 out of 5 Next &gt; I'm often asked for a HowTo tutorial on using ADO with C++. It is highly likely that I've written more ADO with C++ than anybody on the planet. I often talk about how nice it is to do database programming with ADO and C++. But this combination never made the mainstream of programming. Programming with ADO in C++ is just as easy as with Visual Basic, you just have to explicitly...</description>
		</item>

		<item>
			<title>Create Word and Excel Smart Documents with C++ and XML</title>
			<link>http://msdn.microsoft.com/msdnmag/issues/03/12/SmartDocuments/default.aspx</link>
			<description>Mike Kelly This article assumes you're familiar with C++ and XML Level of Difficulty Download the code for this article: SmartDocuments.exe (159KB) SUMMARY One of the coolest new parts of Office 2003 is a programmability feature called Smart Documents, which allows developers to augment Word and Excel documents with programmable content and behavior. Typically, examples illustrating Office programmability use Visual Basic or Visual Basic .NET. In this article, the author develops a...</description>
		</item>

		<item>
			<title>C++ Tip: Uniquely Identifying Serialized Files with Managed C++</title>
			<link>http://www.developer.com/net/cplus/article.php/3355751</link>
			<description>By Tom Archer Welcome to this week's installment of .NET Tips &amp; Techniques ! Each week, award-winning Architect and Lead Programmer Tom Archer demonstrates how to perform a practical .NET programming task using either C# or Managed C++ Extensions. In my two previous .NET Tips &amp; Techniques articles, I illustrated how to serialize objects and specific members and how to implement custom serialization . In this installment, I present a very important issue when using serialization in a...</description>
		</item>

		<item>
			<title>C++ Tip: Using Custom Exception Handlers to Restart Your Application</title>
			<link>http://www.developer.com/net/cplus/article.php/3348741</link>
			<description>By Tom Archer Welcome to this week's installment of .NET Tips &amp; Techniques ! Each week, award-winning Architect and Lead Programmer Tom Archer demonstrates how to perform a practical .NET programming task using either C# or Managed C++ Extensions. When using the .NET Framework, you will implement try/catch blocks to handle specific exceptions that your application expects. However, one often-overlooked ability of .NET is that you can create a custom exception handler that will allow you...</description>
		</item>

		<item>
			<title>C++ Tip: Serializing .NET Objects with Managed C++</title>
			<link>http://www.developer.com/net/cplus/article.php/3350931</link>
			<description>By Tom Archer Welcome to this week's installment of .NET Tips &amp; Techniques ! Each week, award-winning Architect and Lead Programmer Tom Archer demonstrates how to perform a practical .NET programming task using either C# or Managed C++ Extensions. Serialization is the mechanism by which objects are written to disk in binary form. It is a quick and easy means of saving and retrieving your data without using a database. Serialization is ideal in situations where an application needs to...</description>
		</item>

		<item>
			<title>C++ Tip: Implementing Custom Serialization with Managed C++</title>
			<link>http://www.developer.com/net/cplus/article.php/3353271</link>
			<description>By Tom Archer Welcome to this week's installment of .NET Tips &amp; Techniques ! Each week, award-winning Architect and Lead Programmer Tom Archer demonstrates how to perform a practical .NET programming task using either C# or Managed C++ Extensions. In the previous installment of .NET Tips &amp; Techniques , I illustrated how to serialize your __gc classes-as well as selected member variables-to and from disk. In this week's tip, I'll illustrate a technique called custom serialization , which...</description>
		</item>

		<item>
			<title>Writing a Windows Service in Managed C++</title>
			<link>http://www.developer.com/net/cplus/article.php/3293351</link>
			<description>By Kate Gregory Go to page: 1 2 Next For years, writing a service meant writing in Visual C++. It was one of those things that C++ programmers could do that VB programmers couldn't. In those days, we just said &quot;service&quot; or maybe &quot;NT service,&quot; although that was a little old-fashioned. Well, now they've been christened &quot;Windows service&quot; and are super easy to make in VB .NET or C#. You can find examples anywhere. But, what if you want to make one in Managed C++? After all, most experienced...</description>
		</item>

		<item>
			<title>Creating Custom Web Controls in Managed C++, Part 1</title>
			<link>http://www.developer.com/net/cplus/article.php/3420911</link>
			<description>By Stephen Fraser Go to page: 1 2 Next A common misunderstanding is that Managed C++ and ASP.NET Web applications are mutually exclusive. Nothing could be further from the truth. Yes, MC++ doesn't have all the helpful drag-and-drop GUI IDE integration of C# or Visual Basic .NET, but that is not unusual for a C++ developer who always seems to have to do things the hard way. One area where MC++ and the other .NET languages are on level ground in ASP.NET Web applications is custom Web...</description>
		</item>

		<item>
			<title>What is Shadowing, and Is It True that C++ Does It?</title>
			<link>http://www.developer.com/net/cplus/article.php/3319011</link>
			<description>By Kate Gregory Go to page: 1 2 Next A Simple Base Class Let's start with some plain vanilla C++, no CLR in sight. Here's a base class: class A { protected: int i; char* s; public: A():s(NULL),i(-1) {} void f(int ii) {i=ii;s=new char(0);} void f(char* ss) {i=0; if (s) delete s; s= new char[strlen(ss)];strcpy(s,ss);} void report () { cout &lt;&lt; i &lt;&lt; &quot; &quot; &lt;&lt; s &lt;&lt; endl;} }; While it isn't likely to win any contest for usefulness, and the second overload of f is a bit long for inlining, it will...</description>
		</item>

		<item>
			<title>C++ Tip: Versioning Serialized Files with Managed C++</title>
			<link>http://www.developer.com/net/cplus/article.php/3359101</link>
			<description>By Tom Archer Go to page: 1 2 Next Welcome to this week's installment of .NET Tips &amp; Techniques ! Each week, award-winning Architect and Lead Programmer Tom Archer demonstrates how to perform a practical .NET programming task using either C# or Managed C++ Extensions. In the previous article on .NET serialization using Managed C++, I illustrated how to uniquely identify serialized files using a GUID as a class member. In this installment, I'll present a step-by-step technique for...</description>
		</item>

		<item>
			<title>C++ Idioms in BREW, Part 2</title>
			<link>http://www.developer.com/ws/brew/article.php/3370971</link>
			<description>By Radu Braniste Introduction This installment is entirely dedicated to a central BREW design pattern; I've called it &quot;Beware of the Watchdog.&quot; Maybe this is the most significant distinction between BREW and other mobile platforms (a notable exception being C++ Blackberry): for the sake of simplicity, BREW doesn't hide all the details of the operating system; developers are forced to take additional responsibility. After describing the problem, the article presents a C++ idiom designed...</description>
		</item>

		<item>
			<title>Cross-Platform Game Development for C++ Developers, Part III: The 3D Irrlicht Engine</title>
			<link>http://www.developer.com/net/cplus/article.php/3529571</link>
			<description>By Victor Volkman Go to page: 1 2 Next The Irrlicht Engine is a high-performance, real-time 3D engine written and usable in C++ and also available for .NET languages. It is completely cross-platform, using your choice of Direct3D on Windows, OpenGL 1.2, or its own software renderer. Although open source, the Irrlicht library offers state-of-the-art features normally found in commercial 3D engines, such as dynamic shadows, particle systems, character animation, indoor and outdoor...</description>
		</item>

	</channel>
</rss>
