Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>You should realise that although C++ was initially designed to enable OOP, it is very ill suited for that kind of programming (where I define OOP as the use of virtual functions, which imply dynamically allocated objects, etc...).</p> <p>Modern C++ programming provides tools that are far better than <em>traditional</em> OOP for solving many programming problems.</p> <p>If you are learning C++ I would recommend that you learn about <a href="http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization" rel="nofollow noreferrer">RAII</a>, and learn why it is that is is absolutely central to correct usage of the language. After that you should learn about templates, and how they can be used to create reusable components.</p> <p>Read through and understand everything in <a href="http://www.gotw.ca/gotw/" rel="nofollow noreferrer">Guru of the Week</a>, and consider reading the associated books (Exceptional C++ and More Exceptional C++). Also consider reading some of the other books from <a href="https://stackoverflow.com/q/388242/485561">The Definitive C++ Book Guide and List</a>.</p> <p>While you are doing this, have a look at the design and implementation of the libraries in <a href="http://www.boost.org/" rel="nofollow noreferrer">boost</a>. Many of them are examples of near perfect usage of the C++ language, and they have widespread usefulness.</p> <p><strong>Most importantly: write code.</strong></p> <p>It is often difficult to understand solutions to problems that you have never faced. It is crucial that you have a deep understanding of when particular techniques are appropriate, and what problems can be solved by which methodologies. Attempting to use methodologies, techniques, libraries or patterns that solve a fundamentally different problem from the one that you are up against will never result in good code.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload