Industrial Strength C++
01312096.GIF (14122 bytes)

A long time ago in a small country in the north... Well, that is one way to start the story about this book. Mats and I hade written a document as part of our job at Ellemtel (a company owned by Ericsson and Telia) that we had made available on the Internet. The document was soon recommended within companies all over the globe and we were approached by some publishers that wanted us to write a book on the topic. We picked Prentice Hall PTR and started to work. It took some time to understand what type of book to write, but finally after many years of work the book was published.

The translation of the book to HTML was done from an early version of the book and you will find some differences to the published book. The reason for that is that our material was converted to Quark from this version created in Adobe™ Framemaker, and we do not have a copy of the final version. If you find differences you can email me them and I will update the HTML-files accordingly.

You can also email me if you find errors or if you want to propose improvements to what has been written. A lot has happended since 1995-1996 when we wrote the book.

The book is no longer being printed  by Prentice-Hall PTR (now. Pearsons) , so this site might be the only way to get hold of the material today.

Erik Nyquist, Stockholm, 2001

 Industrial Strength C++ (zipped PDF)
 Industrial Strength C++ (gzipped PDF)

Summary of Rules & Recommendations

Book Chapters

Acknowledgements

Preface

Introduction

Chapter One: Naming

Chapter Two: Organizing the code

Chapter Three: Comments

Chapter Four: Control flow

Chapter Five: Object lifecycle

Chapter Six: Conversions

Chapter Seven: The class interface

Chapter Eight: new and delete

Chapter Nine: Static objects

Chapter Ten: Object-oriented programming

Chapter Eleven: Assertions

Chapter Twelve: Error handling

Chapter Thirteen: Parts of C++ to avoid

Chapter Fourteen: Size of executables

Chapter Fifteen: Portability

Appendix One: Style

Appendix Two: Terminology