![C++编程思想 第2卷:实用编程技术(英文版)[按需印刷]](http://images.china-pub.com/ebook15001-20000/16608/zcover.jpg)
最 低 价:¥102.54
| BruceEckel是MindView公司 (www.MindView.net)的总裁,向客户提供软件咨询和培训。他是C++标准委员会拥有表决权的成员之一。也是《Java编程思想》(该书第3版影印版已由机械工业出版社引进出版),《C++编程思想第1卷》及其他C++著作的作者,已经发表了150多篇论文(其中有许多C++语言方面的论文),他经常参加世界各地的研讨会并进行演讲。 Chuck Allison曾是《C/C++Users》杂志的资深编辑,著有《C/C++Code Capsules》一书。他是C++标准 委员会的成员,犹他谷州立学院的计算机.. << 查看详细 |
| what's inside introduction goals chapters exercises exercise solutions source code compilers language standards seminars, cd-roms & consulting errors about the cover acknowledgements i:building stable systems ii:exception handling traditional error handling throwing an exception catching an exception the try block . exception handlers termination and resumption exception matching catching any exception rethrowing an exception uncaught exceptions cleaning up resource management making everything an object auto_ptr function-level try blocks standard exceptions exception specifications better exception specifications? exception specifications and inheritance when not to use exception specifications exception safety programming with exceptions, when to avoid exceptions typical uses of exceptions overhead summary exercises 2:defensive programming assertions a simple unit test framework automated testing the testsuite framework test suites the test framework code debugging techniques trace macros trace file finding memory leaks summary exercises ii:the standard c++ library 3:strings in depth what's in a string? creating and initializing c++ strings operating on strings appending, inserting, and concatenating strings replacing string characters concatenation using nonmember overloaded operators searching in strings finding in reverse finding first/last of a set of characters removing characters from strings comparing strings strings and character traits a string application summary exercises 4:iostreams why iostreams? iostreams to the rescue inserters and extractors common usage line-oriented input handling stream errors file iostreams a file-processing example open modes iostream buffering seeking in iostreams string iostreams input string streams output string streams output stream formatting format flags format fields width, fill, and precision an exhaustive example manipulators manipulators with arguments creating manipulators effectors iostream examples maintaining class library source code detecting compiler errors a simple data logger internationalization wide streams locales summary exercises 5:templates in depth template parameters non-type template parameters default template arguments template template parameters the typename keyword, using the template keyword as a hint member templates function template issues type deduction of function template arguments function template overloading taking the address of a generated function template, applying a function to an stl sequence partial ordering of function templates template specialization explicit specialization partial specialization a practical example preventing template code bloat name lookup issues names in templates templates and friends template programming idioms traits policies the curiously recurring template pattern template metaprogramming compile-time programming expression templates template compilation models the inclusion model explicit instantiation the separation model summary exercises 6:generic algorithms a first look predicates stream iterators algorithm complexity function objects classification of function objects automatic creation of function objects adaptable function objects more function object examples function pointer adaptors writing your own function object adaptors a catalog of stl algorithms support tools for example creation filling and generating counting manipulating sequences searching and replacing comparing ranges removing elements sorting and operations on sorted ranges heap operations applying an operation to each element in a range numeric algorithms general utilities 7:generic containers creating your own 5tl-style algorithms summary exercises containers and iterators stl reference documentation a first look containers of strings inheriting from stl containers a plethora of iterators iterators in reversible containers iterator categories predefined iterators the basic sequences: vector, list, deque basic sequence operations vector deque converting between sequences checked random-access list swapping sequences set a completely reusable tokenizer stack queue priority queues holding bits bitset[n] vector[bool] associative containers generators and fillers for associative containers the magic of maps multimaps and duplicate keys multisets combining ste containers cleaning up containers of pointers creating your own containers stl extensions non-stl containers summary exercises iii:special topics 8:runtinme type identification runtirne casts the typeid operator casting to intermediate levels void pointers using r'i-i-i with templates multiple inheritance sensible uses for rtti, a trash recycler mechanism and overhead of rtti summary exercises 9:multiple inheritance perspective interface inheritance implementation inheritance duplicate subobjects virtual base classes name lookup issues avoiding mi extending an interface summary exercises 10:design patterns the pattern concept prefer composition to inheritance classifying patterns features, idioms patterns simplifying idioms messenger collecting parameter singleton variations on singleton command: choosing the operation decoupling event handling with command object decoupling proxy: fronting for another object state: changing object behavior adapter template method strategy: choosing the algorithm at runtime chain of responsibility: trying a sequence of strategies factories: encapsulating object creation polymorphic factories abstract factories virtual constructors builder: creating complex objects observer the "inner class" idiom the observer example multiple dispatching multiple dispatching with visitor summary exercises 11:concurrency motivation concurrency in c++ installing zthreads defining tasks using threads creating responsive user interfaces simplifying with executors yielding sleeping priority sharing limited resources ensuring the existence of objects improperly accessing resources controlling access simplified coding with guards thread local storage terminating tasks preventing iostream collision the ornamental garden terminating when blocked interruption cooperation between threads wait and signal producer-consumer relationships solving threading problems with queues broadcast deadlock summary exercises a:recommended reading general c++ bruce's books, chuck's books in-depth c++ design patterns b:etc index |
商品评论(0条)