Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

The Journeyman's Shop: Initialization and Cleanup, Part 3


May 1999/The Journeyman's Shop/Figure 1

Figure 1: Outline of initialization and cleanup topics and issues in which they were discussed

Topic                                          Issue Appeared In
----------------------------------------------------------------
All Variables                                         March 1999
    What should I initialize it to
    How should I initialize it
    When should I initialize it
Variables that require scarce resources
    How should I dispose of its resources
    When should I dispose of its resources
Lifetime and initialization
    Global static variables are initialized once, 
        at program startup
    Local static variables are initialized once, 
        when the block in which they are defined 
        is first entered
    Auto variables are initialized every time the 
        block in which they are defined is entered
Cleaning up in C
    atexit
----------------------------------------------------------------
Cleaning up in C++: destructors                       April 1999
    Destructors for static objects, both global 
        and local, are run at program termination, 
        in reverse order of construction
    Destructors for auto objects are run when the 
        block in which they are defined is exited 
        by any means, including throwing an 
        exception
----------------------------------------------------------------
When the language doesn't do what you need              May 1999
    Use default 0 initialization to flag variables 
        that haven't been initialized
    Use a function that returns a reference to a 
        local static object
    Use the nifty counter trick



Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.