background preloader

C++

Facebook Twitter

C++ Programming/Code/Design Patterns. Programming Patterns[edit] Software design patterns are abstractions that help structure system designs.

C++ Programming/Code/Design Patterns

While not new, since the concept was already described by Christopher Alexander in its architectural theories, it only gathered some traction in programming due to the publication of Design Patterns: Elements of Reusable Object-Oriented Software book in October 1994 by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, known as the Gang of Four (GoF), that identifies and describes 23 classic software design patterns. 12: Operator Overloading. C++ Coding Conventions. This document is supposed to enumerate a number of conventions aiming at consistency and elegance of C++ code.

C++ Coding Conventions

In general, there is no intention to focus on technical aspects of programming, but rather on look-and-feel issues. Several well-known practices are put together, combined with personal feelings, preferences and thoughts. By no means this should be considered as a teaching exercise. And – to emphasize once and till the end of the document – sentences like "Don’t do... " should be taken just as brief form of something similar to "in general, there is tendency to conclude that... ". The document is neither academically polished, nor complete. Before starting, let’s clarify overall predilections. Universality vs. Should the coding style be universal and invariant, regardless of the circumstances?

There is no simple answer (this statement applies to many other places, so let’s not repeat it anymore), but as a rule of thumb let’s decide in favor of customs. Logic vs. Focus on logic. How to: Create and Use shared_ptr Instances. The shared_ptr type is a smart pointer in the C++ standard library that is designed for scenarios in which more than one owner might have to manage the lifetime of the object in memory.

How to: Create and Use shared_ptr Instances

After you initialize a shared_ptr you can copy it, pass it by value in function arguments, and assign it to other shared_ptr instances. All the instances point to the same object, and share access to one "control block" that increments and decrements the reference count whenever a new shared_ptr is added, goes out of scope, or is reset. When the reference count reaches zero, the control block deletes the memory resource and itself. The following illustration shows several shared_ptr instances that point to one memory location. C++ Programming/Code/Design Patterns. Programming Patterns[edit] Software design patterns are abstractions that help structure system designs.

C++ Programming/Code/Design Patterns

While not new, since the concept was already described by Christopher Alexander in its architectural theories, it only gathered some traction in programming due to the publication of Design Patterns: Elements of Reusable Object-Oriented Software book in October 1994 by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, known as the Gang of Four (GoF), that identifies and describes 23 classic software design patterns. C++ - How to save image using libcurl. Save cURL content result into a string in C++ Curl: one second delay in HTTP PUT. Beginners Guide to creating a daemon in Linux - Shahmir Javaid. Before reading this please note this is a beginners guide and does not go in detail about the content.

Beginners Guide to creating a daemon in Linux - Shahmir Javaid

Beginners Guide to creating a daemon in Linux - Shahmir Javaid. Linux Daemon Writing HOWTO. Devin Watson v1.0, May 2004.

Linux Daemon Writing HOWTO

Daemon server in C using unix sockets. High Fibre Programming » A Simple Daemon in C. (Before diving into creating your own daemon, you might want to take a look at the Fat Controller which is a program which can daemonise anything.

High Fibre Programming » A Simple Daemon in C

If you need to daemonise something, run something repeatedly or parallelise something, then it may well be worth taking a look.) A daemon is a process which runs in the background of your computer, periodically carrying out a specific task. Usage - 1.54. Using the algorithms is straightforward.

Usage - 1.54

Let us have a look at the first example: #include <boost/algorithm/string.hpp> using namespace std; using namespace boost; // ... string str1(" hello world! "); to_upper(str1); // str1 == " HELLO WORLD! " trim(str1); // str1 == "HELLO WORLD! " C++ - Why is mktime() changing the year day of my tm struct. Sql - simplest way to get DATETIME stamp in C++ Libcurl: post data and then get new page. Hi All: I've solved all three problems.

libcurl: post data and then get new page

In case anyone is interested: 1, A work around: curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "name=h9uest&email=h9uest@h9uest.com&comments=hi&mychoice[1]=choice1&mychoice[2]=choice2&mychoice[3]=choice3"); It's actually quite silly. File Upload with libcurl. Fileupload.c. Singleton Pattern & its implementation with C++ Introduction Suppose we have to use a single object of a class throughout the lifetime of an application.

Singleton Pattern & its implementation with C++

In C++, it is possible to declare a global object, which can be used anywhere inside the program. But a good object oriented design strictly prohibits the use of global variables or methods, since they are against the fundamental principles of object orientation like data encapsulation or data hiding. More over, most latest object oriented programming languages like JAVA or C# do not support global variables or functions. C++ - functional, bind1st and mem_fun. Can I convert a pointer-to-member-function to a void* Member Function Pointers and the Fastest Possible C++ Delegates. Russian Translation I'm pleased to announce that Denis Bulichenko has translated this article into Russian! It has been published in RSDN. The complete article will soon be available on-line. I'm deeply indebted to you, Denis. View forum - C# 일반 프로그래밍 이야기. C++ - How do I sort a vector of pairs based on the second element of the pair. Pointer to Pointer and Reference to Pointer.

Contents IntroductionWhy We Need Them?