Java and Python have the best general libraries, hands down. C++ is good with QT.
http://olvemaudal.wordpress.com/2008/11/27/c-idioms-by-example/
http://en.wikibooks.org/wiki/More_C%2B%2B_Idioms
http://www2.research.att.com/~bs/bs_faq2.html (bjarne’s style/idioms faq)
http://stackoverflow.com/questions/1759613/what-c-idioms-should-c-programmers-use
- qt smart ptrs:
http://stackoverflow.com/questions/2884202/qt-and-auto-ptr
http://labs.qt.nokia.com/2009/08/25/count-with-me-how-many-smart-pointer-classes-does-qt-have/
PIMPL (pointer to implementation idiom)
http://en.wikipedia.org/wiki/Opaque_pointer
http://www.c2.com/cgi/wiki?PimplIdiom
http://www.gotw.ca/gotw/028.htm (fast pimpl)
RAII
http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization
Patterns:
http://en.wikibooks.org/wiki/C++_Programming/Code/Design_Patterns
http://en.wikipedia.org/wiki/Singleton_pattern
http://en.wikipedia.org/wiki/Observer_pattern
http://en.wikipedia.org/wiki/Curiously_recurring_template_pattern
http://en.wikipedia.org/wiki/Decorator_pattern
http://en.wikipedia.org/wiki/Delegation_pattern
http://en.wikipedia.org/wiki/Factory_method_pattern
http://en.wikipedia.org/wiki/Reactor_pattern
COM:
http://msdn.microsoft.com/en-us/library/ms680573%28v=vs.85%29.aspx
http://en.wikipedia.org/wiki/Component_Object_Model
Look at the syllabi:
Basic
- Introduction to the STL
- purpose and structure of the STL: containers, algorithms, and iterators
- review: class and function templates
- container classification, characteristics, and content
- iterator classification and behavior
- generic algorithms and iterators
- design of generic algorithms and performance guarantees
- iostream iterators
- Generic Algorithms
- review: generic algorithms and helper templates
- interaction between algorithms and iterators
- generic algorithm goals, documentation, and design
- sequences, subsequences, and sequence errors
- descriptions of STL algorithms
- Containers
- properties, insertion and deletion effects, specific functionality
- vectors
- lists
- maps
- containers and exceptions
- choosing an appropriate container
- container adapters
- Function Objects
- functions and generic algorithms
- function objects and generic algorithms
- algorithm families
- function objects and containers, strict weak ordering
- standard function objects
- Adapters
- function object adapters
- binders and negaters
- helper tempates and template argument deduction
- pointer to function adapters
- composing new function objects
- designing function object adapters
- container adapters
- priority_queues and heaps
- Iterator Design
- the iterator base class and iterator traits
- review: class template specialization and partial specialization
- iterators and const_iterators
- accessing iterator information in generic algorithms
- versioning of generic algorithms based on iterator class
- reverse iterators and iterator adapters
- insert iterators, adapters, and helpers
- raw storage iterators, adapters, and helpers
- designing new iterators
- Container Design
- containers vs. STL containers
- STL container requirements
- design of a simple STL container
- design of a more complex STL container
- containers, iterators, and const_iterators
- basic STL components
- Allocator Design
- containers and memory management
- allocators and the standard allocator
- allocator portability problems
- container use of allocators
- design of a special-purpose allocator
- allocator hacking techniques
No comments:
Post a Comment