网上购物 货比三家
您现在的位置:快乐比价网 > 图书 > 计算机与网络 > 程序设计 > 商品详情

Imperfect C++(英文影印版)

分享到:
Imperfect C++(英文影印版)

最 低 价:¥51.40

定 价:¥65.00

作 者:(美)Matthew Wilson

出 版 社:人民邮电出版社

出版时间:2006 年7月

I S B N:711514981X

商品详情

编辑推荐

C++虽然是一门非凡的语言,但并不完美。本书作者Matthew Wilson使用C++十年有余,其间发现C++存在一些固有的限制,需要一些颇具技术性的工作进行弥补。.
  本书不仅指出了C++的缺失,更为编写健壮、灵活、高效、可维护的代码提供了实用的技术和工具。Wilson向读者展示了如何克服C++的复杂性,穿越C++庞大的范式阵列,夺回对代码的控制权,从而获得更理想的结果,...

内容简介

即便是c++阵营里最忠实的信徒,也不得不承认:c++语言并不完美。实际上,世界上也没有完美的编程语言。.
  如何克服c++类型系统的不足?在c++中,如何利用约束、契约和断言来实施软件设计?如何处理被c++标准所忽略的动态库、静态对象以及线程等有关的问题?隐式转换有何替代方案?本书将为你一一解答这些问题。针对c++的每一个不完美之处,本书都具体地分析原因,并探讨实用的解决方案。书中也不乏许多作者创新的、你从未听说过或使用的技术,但这些确实能帮助你成为c++方面的专家。..
  本书适合有一定经验的c++程序员和项目经理阅读,也适合对c++编程的一些专门或高级话题感兴趣的读者参考。
  
  本书特色:
  1.本书不仅指出了c++的缺失,更为编写健壮、灵活、高效,可维护的代码提供了实用的技术和工具。
  2.本书展示了如何克服c++的复杂性,穿越c++庞大的范式阵列,夺回对代码的控制权,从而获得更理想的结果。...

作者简介

Matthew Wilson是一名软件开发顾问,STL Soft库的创建者。他为双月刊C/C++Users Journal撰写关于将C/C++与其他语言和技术进行整合的专栏文章,同时也是C++ Experts Forum的在线专栏作家。Wilson在英国曼彻斯特大学获得了博士学位,有十余年c++开发经验,目前定居子澳大利亚。...
.. << 查看详细

目录

partonefundamentals
chapter1 enforcingdesign:constraints,contracts,andassertions
1.1 eggsandham
1.2 compile-timecontracts:constraints
1.3 runtimecontracts:preconditions,postconditions,andinvariants
1.4 assertions
chapter2 objectlifetime
2.1 theobjectlifecycle
2.2 controllingyourclients
2.3 milsandboon
chapter3 resourceencapsulation
3.1 ataxonomyofresourceencapsulation
3.2 podtypes
3.3 wrapperproxies
3.4 rridtypes
3.5 raiitypes
3.6 rahcoda
chapter4 dataencapsulationandvaluetypes
4.1 ataxonomyofdataencapsulation
4.2 valuetypesandentitytypes
.4.3 ataxonomyofvaluetypes
4.4 opentypes
4.5 encapsulatedtypes
4.6 valuetypes
4.7 arithmeticvaluetypes
4.8 valuetypescoda
4.9 encapsulationcoda
chapter5 objectaccessmodels
5.1 vouchedlifetimes
5.2 copiedforcaller
5.3 giventocaller
5.4 sharedobjects
chapter6 scopingclasses
6.1 value
6.2 state
6.3 apisandservices
6.4 languagefeatures
parttwosurvivingtherealworld
chapter7abi
7.1 sharingcode
7.2 cabirequirements
7.3 c++abirequirements
7.4 icancclearlynow
chapter8 objectsacrossborders
8.1 mostlyportablevtables?
8.2 portablevtables
8.3 abi/oabcoda
chapter9 dynamiclibraries
9.1 callingfunctionsexplicitly
9.2 indentity:linkunitsandlinkspace
9.3 lifetime
9.4 versioning
9.5 resourceownership
9.6 dynamiclibraries:coda
chapter10 threading
10.1 synchronizingintegeraccess
10.2 synchronizingblockaccess:criticalregions
10.3 atomicintegerperformance
10.4 multithreadingextensions
10.5 threadspecificstorage
chapter11 statics
11.1 nonlocalstaticobjects:globals
11.2 singletons
11.3 function-localstaticobjects
11.4 staticmembers
11.5 staticscoda
chapter12 optimization
12.1 inlinefunctions
12.2 returnvalueoptimization
12.3 emptybaseoptimization
12.4 emptyderivedoptimization
12.5 preventingoptimization
partthreelanguageconcerns
chapter13 fundamentaltypes
13.1 mayihaveabyte?
13.2 fixed-sizedintegertypes
13.3 largeintegertypes
13.4 dangeroustypes
chapter14 arraysandpointers
14.1 don'trepeatyourself
14.2 arraysdecayintopointers
14.3 dimensionof0
14.4 cannotpassarraystofunctions
14.5 arraysarealwayspassedbyaddress
14.6 arraysofinheritedtypes
14.7 cannothavemultidimensionalarrays
chapter15 values
15.1 null---thekeywordthatwasn't
15.2 downtozero
15.3 bendingthetruth
15.4 literals
15.5 constants
chapter16keywords
16.1 interface
16.2 temporary
16.3 owner
16.4 explicit(_cast)
16.5 unique
16.6 final
16.7 unsupportedkeywords
chapter17 syntax
17.1 classlayout
17.2 conditionalexpressions
17.3 for
17.4 variablenotation
chapter18 typedefs
18.1 pointertypedefs
18.2 what'sinadefinition?
18.3 aliases
18.4 treetypedefs
18.5 thegood,thebad,andtheugly
partfourcognizantconversions
chapter19 casts
19.1 implicitconversion
19.2 castinginc++
19.3 thecaseforccasts
19.4 castsonsteroids
19.5 explicit_cast
19.6 literal_cast
19.7 union_cast
19.8 comstl::interface_cast
19.9 boost::polymorphic_cast
19.10 casts:coda
chapter20 shims
20.1 embracingchangeandenhancingflexibility
20.2 attributeshims
20.3 logicalshims
20.4 controlshims
20.5 conversionshims
20.6 compositeshimconcepts
20.7 namespacesandkoeniglookup
20.8 whynottraits?
20.9 structuralconformance
20.10 breakingupthemonolith
20.11 shims:coda
chapter21 veneers
21.1 lightweightrah
21.2 bindingdataandoperations
21.3 rubbinguptoconcepts
21.4 veneers:coda
chapter22 bolt-ins
22.1 addingfunctionality
22.2 skinselection
22.3 nonvirtualoverriding
22.4 leveragingscope
22.5 simulatedcompile-timepolymorphism:reversebolt-ins
22.6 parameterizedpolymorphicpackaging
22.7 bolt-ins:coda
chapter23 templateconstructors
23.1 hiddencosts
23.2 danglingreferences
23.3 templateconstructorspecialization
23.4 argumentproxies
23.5 argumenttargeting
23.6 templateconstructors:coda
partfiveoperators
chapter24 operatorbool0
24.1 operatorintocoast
24.2 operatorvoid*0const
24.3 operatorbool0const
24.4 operator!()---not!
24.5 operatorbooleanconst*0const
24.6 operatorintboolean::*()const
24.7 operatingintherealworld
24.8 operator!
chapter25 fast,non-intrusivestringconcatenation
25.1 fast_string_concatenator[]
25.2 performance
25.3 workingwithotherstringclasses
25.4 concatenationseeding
25.5 pathologicalbracing
25.6 standardization
chapter26 what'syouraddress?
26.1 can'tgettherealaddress
26.2 whatactionsarecarriedoutduringconversion?
26.3 whatdowereturn?
26.4 what'syouraddress:coda
chapter27subscriptoperators
27.1 pointerconversionversussubscriptoperators
27.2 handlingerrors
27.3 returnvalue
chapter28 incrementoperators
28.1 missingpostfixoperators
28.2 efficiency
chapter29arithmetictypes
29.1 classdefinition
29.2 defaultconstruction
29.3 initialization(valueconstruction)
29.4 copyconstruction
29.5 assignment
29.6 arithmeticoperators
29.7 comparisonoperators
29.8 accessingthevalue
29.9 sinteger64
29.10 truncations,promotions,andtests
29.11 arithmetictypes:coda
chapter30short-circuit!
partsixextendingc++
chapter31returnvaluelifetime
31.1 ataxonomyofreturnvaluelifetimegotchas
31.2 whyreturn-by-reference?
31.3 solution1--integer_to_string[]
31.4 solution2--tss
31.5 solution3---extendingrvl
31.6 solution4-staticarraysizedetermination
31.7 solution5--conversionshims
31.8 performance
31.9 rvl:thebigwinforgarbagecollection
31.10 potentialapplications
31.11 returnvaluelifetime:coda
chapter32memory
32.1 ataxonomyofmemory
32.2 thebestofbothworlds
32.3 allocators
32.4 memory:coda
chapter33multidimensionalarrays
33.1 facilitatingsubscriptsyntax
33.2 sizedatruntime
33.3 sizedatcompiletime
33.4 blockaccess
33.5 performance
33.6 multidimensionalarrays:coda
chapter34 functorsandranges
34.1 syntacticclutter
34.2 for_all0?
34.3 localfunctors
34.4 ranges
34.5 functorsandranges:coda
chapter35properties
35.1 compilerextensions
35.2 implementationoptions
35.3 fieldproperties
35.4 methodproperties
35.5staticproperties
35.6 virtualproperties
35.7 propertyuses
35.8 properties:coda
appendixacompilersandlibraries
a.1 compilers
a.2 libraries
a.3 otherresources
appendixb"watchthathubris!"
b.1 operatoroverload
b.2 dryruedyesterday
b.3 paranoidprogramming
b.4 toinsanity,andbeyond!
appendixcarturius
appendixdthecd
epilogue
bibliography
index...

商品评论(0条)

暂无评论!

您的浏览历史

loading 内容加载中,请稍后...