background preloader


Facebook Twitter

Learn Web Design, Web Development, and iOS Development - Treehouse. Google C++ Style Guide. Definition: Streams are a replacement for printf() and scanf().

Google C++ Style Guide

Pros: With streams, you do not need to know the type of the object you are printing. You do not have problems with format strings not matching the argument list. (Though with gcc, you do not have that problem with printf either.) Streams have automatic constructors and destructors that open and close the relevant files. Cons: Streams make it difficult to do functionality like pread(). Decision: Do not use streams, except where required by a logging interface. There are various pros and cons to using streams, but in this case, as in many other cases, consistency trumps the debate. Extended Discussion There has been debate on this issue, so this explains the reasoning in greater depth. Proponents of streams have argued that streams are the obvious choice of the two, but the issue is not actually so clear.

Cout << this; // Prints the address cout << *this; // Prints the contents. Castor : Logic paradigm for C++ Traditional approach to problem solving with computers is all about instructing the computer exactly how to solve the problem.

This is called the Imperative paradigm and is based on the Turing machine. Languages such as C, C++, Java, Fortran etc. are all rooted in this paradigm. The Logic paradigm (LP) is a declarative programming model. Instead of instructing the computer how to solve a particular problem, we describe the problem domain as facts and rules. Logic programming is one approach in computer science towards what is sometimes referred to as the Holy Grail of programming: "The user states the problem, the computer solves it". Prolog is the best known programming language that supports logic programming. Castor is a small pure C++, all header library. Documentation : Videos: Castor 1.1 - New features (Part 1 of 2) : Features continuing to evolve from 1.0. Castor 1.1 - New features (Part 2 of 2) : Brand new stuff.

Past Talks : Using auto_ptr Effectively. This article appeared in C/C++ Users Journal, 17(10), October 1999.

Using auto_ptr Effectively

Most people have heard of the standard auto_ptr smart pointer facility, but not everyone uses it daily. That's a shame, because it turns out that auto_ptr neatly solves common C++ design and coding problems, and using it well can lead to more robust code. This article shows how to use auto_ptr correctly to make your code safer--and how to avoid the dangerous but common abuses of auto_ptr that create intermittent and hard-to-diagnose bugs. Why Call It an "Auto" Pointer? Auto_ptr is just one of a wide array of possible smart pointers.

What auto_ptr does is own a dynamically allocated object and perform automatic cleanup when the object is no longer needed.