⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 indextxt.htm

📁 高效c++编程
💻 HTM
📖 第 1 页 / 共 5 页
字号:
map template E229, M4, M95, M237, M246, M283Martin, Robert Exviiimathematics, inheritance and E160max E16McCluskey, Peter ExixMcKee, Beth Mxvmeaningof classes without virtual functions E61of common base classes E210of layering E182, E211of nonvirtual functions E167, E211of pass-by-value E7of private inheritance E190, E210of public inheritance E155, E210of pure virtual functions E162, E211of references E102of simple virtual functions E163, E211of undefined behavior E20of virtual base classes E199Medusa E75Meltzer, Seth Exixmemberassignment E213copying E213data, see data membersinitialization order E58initialization when static, const, and integral E14pointers (i.e., pointers to members) E112, E130static, initialization E29templates E111for implementing NULL E111-E112member function templatessee member templatesmember functionssee also functions, member templatesbitwise const E94compatibility of C++ and C structs and M276conceptually const E95-E97const E92-E97, M89, M160, M218handles and E128handles and E128implicitly generated E212-E216invocation through proxies M226pointers to E130, M240private E57, E116protected E165, E193type conversions and E86vs. global functions E84-E87member initialization E213see also member initialization listsof const members E53-E54of const static integral members E14of reference members E53-E54order E58vs. assignment E53-E57member initialization lists M58see also member initialization?: vs. if/then and M56base class constructors and E200const members and E53-E54reference members and E53-E54try and catch and M56member templates M165approximating M294assigning smart pointers and M180copying smart pointers and M180for type conversions E111, M175-M179portability of M179memberwise assignment E213memberwise copy construction E213memory allocation M112see also memory managementarrays and E36error handling for E27-E33for basic_string class M280for heap arrays M42-M43for heap objects M38in C++ vs. C M275memory layout of objects E198memory leaks E25, E125, E133, M6, M7, M42, M145see also resource leaksexamples E51, E103origin E45vs. memory pools E44-E45memory managementsee also memory allocation, operator new, operator deletecustom, efficiency and E43customizing M38-M43memory pools E46-E48memory values, after calling operator new M38memory, shared M40memory-mapped I/O M40message dispatch, see multiple dispatchmf, as identifier E12MI, see multiple inheritanceMichaels, Laura Exixmigrating from C to C++ M286minimal interfaces E184pros and cons E79-E81minimizing compilation dependencies E143-E152minimum values, discoveringMitchell, Margaret E127mixed-mode arithmetic E85, E86mixed-type assignments M183, M260, M261prohibiting M263-M265mixed-type comparisons M169mixin classes E31, M154mixing codeC++ and C M270-M276with and without exception specifications M75mixing new/delete and malloc/free E20mixin-style base classes E31, M154mixin-style inheritance E31, M154modifying function return values E94Moore, Doug ExixMore Effective C++ Exv, E237-E238vs. Effective C++ E237Web site for E237, M8Morgan, Doug Exviii, Exixmulti-dimensional arrays M213-M217multi-methods M230multiple dispatch M230-M251multiple inheritance (MI) E194-E209, M153ambiguity and E114-E115, E195, E200clairvoyance and E199class initialization order and E58combining public and private E201-E205complexities of E195-E201controversy over E194diamonds and E198 -E201dominance and E200libraries and E198memory layout E198object addresses and M241poor design and E205-E209space penalty for use of E199vptrs and vtbls and M118-M120multiple pointers, destructors and E191Munsil, Wesley ExixMurray, Rob Exviii, Mxii, Mxiii, M286mutable E95, M88-M90Myers, Nathan ExviiiN Nackman, Lee R. M288Nagler, Eric Exix, Mxiii, MxivNaiman, Aaron Exixname conflicts E117name function M238name mangling M271-M273named objects M109optimization and M104vs. temporary objects M109namespace pollutionavoiding E150in a class E166namespaces E117-E119, M132, M144approximating E119-E122potential ambiguity and E119standard C++ library and M280std, see std namespaceunnamed M246, M247naming conventions E11, E138, E144NDEBUG, and assert macro E26Nemeth, Evi ExxNeou, Vivian Mxivnested classes, and inheritance M197nested types, examples E186, E218<new> E27newsee also operator new, placement newcombining with malloc E20communication with delete E40consistency with delete E43example implementation E30, E32forms of E26hiding global new E37-E39nothrow E33operator new and E23relationship to constructors E23new cast examplesconst_cast E96, E97, E124dynamic_cast E180, E181static_cast E19, E42, E44, E70, E110, E114, E175, E176, E178, E192, E193, E194new cast forms E10-E11new language features, summary M277new operator M37, M38, M42bad_alloc and M75operator new and constructors and M39, M40operator new[] and constructors and M43new/delete, vs. vector and string E229new-handlerdefinition (English) E26deinstalling E28discovering E35finding out what it is E35new-handling functions, behavior of E27newsgroups, Usenet Exvii, Exviii, Mxi, M289recommended M289Newton, allusion to M41Nguyen, Dat Thuc Exixnightmares, maintenance E176non-local static objects E120, E221non-member functions, acting virtual M128-M129nonvirtualbase classes E200destructors E81object deletion and E59-E63functions E169-E171meaning E211static binding of E170nothrow new E33NULL E110-E113address of E112use by caller vs. use by callee E112null pointersdeleting E25, E36, M52dereferencing M10dynamic_cast and M70in smart pointers M167set_new_handler and E28strlen and M35testing for M10the STL and M281null references M9-M10numeric applications M90, M279support in standard C++ library E231numeric_limits E106-E108efficiency of E107nuqneH E97Nyman, Lars ExixO Object Pascal E195Objective C E195object-oriented design E153-E211advantages of E164common errors in E167-E169objectsaddresses M241allowing exactly one M130-M134arrays of E5-E6as function return type M99assignments E8through pointers M259, M260compilation dependencies and E147constructioncontexts for M136lazy M88-M90on top of one another M287copying, and exceptions M62-M63, M68counting instantiations E59, M141 -M145declaring E4defining E4, E135-E137constructors and E135deleting M173determining location via address comparisons M150-M152determining whether on the heap M147-M157equality of E74-E75identity of E74-E75initialization E8, M39, M88, M237with vs. without arguments E136layout E198lifetime when returned from functions E127-E128limiting the number of M130-M145locations M151memory layout diagrams M116, M119, M120, M242modifying when thrown M63named, see named objectsownership M162, M163-M165, M183partially constructed M53phases of construction E54preventing instantiations M130prohibiting copying of E52prohibiting from heap M157- M158proxy, see proxy objectsrestricting to heap M145-M157sizecache hit rate and M98determining E145paging behavior and M98small, passing E101static, see static objectssurrogate M217temporary, see temporary objectsunnamed, see temporary objectsusing dynamic_cast to find the beginning M155using to prevent resource leaks M47-M50, M161virtual functions and M118vs. pointers, in classes M147Occam, William of E207, E209off-by-one errors E83On Beyond Zebra, allusion to M168on-line errata listfor Effective C++ Exvifor More Effective C++ M8operator delete E77, M37, M41, M84, M113, M173see also delete, operator delete[]behavior of E36-E37efficiency and E39, M97inheritance and M158non-member, pseudocode for E36virtual destructors and E44operator delete[] E36, E37, E77, M37, M84delete operator and destructors and M43private M157operator new E77, M37, M38, M69, M70, M84, M113, M149see also new, operator new[]arrays and E36bad_alloc and E26, E33, E34, M75behavior of E33-E36calling directly M39constructors and M39, M149-M150efficiency and E39, M97exception specification for E28exceptions and M52improving performance E40-E48infinite loop within E35inheritance and E35-E36, M158malloc and M39member, and "wrongly sized" requests E35new operator and constructors and M40new-handling functions and E27non-member, pseudocode for E34out-of-memory conditions and E25-E33overloading E26, M43, M153private M157returning 0 and E33std::bad_alloc and E26, E33, E34values in memory returned from M38zero-byte requests and E34operator new[] E36, E77, M37, M42, M84, M149see also new, operator newbad_alloc and M75new operator and constructors and M43private M157operator overloading, purpose M38operator void* M168-M169operator! M37in iostream classes M170in smart pointers classes M169operator!= M37operator% M37operator%= M37operator& E212, M37, M74, M223operator&& M35-M36, M37operator&= M37operator() M37, M215operator* M37, M101, M103, M104, M107as const member function M160null smart pointers and M167STL iterators and M96operator*= M37, M107, M225operator+ M37, M91, M100, M107, M109template for M108operator++ M31-M34, M37, M225double application of M33prefix vs. postfix M34operator+= M37, M107, M109, M225operator, M36-M37operator- M37, M107template for M108operator-= M37, M107operator-> M37as const member function M160STL iterators and M96operator->* M37operator-- M31-M34, M37, M225double application of M33prefix vs. postfix M34operator. M37, M226operator.* M37operator/ M37, M107operator/= M37, M107operator:: M37operator< M37operator<< M37, M112, M129declaring E87vs. printf E17why a member function M128writing E17operator<<= M37, M225operator<= M37operator= E64-E76, E116, M37, M107, M268associativity of E64bitwise copy and E50, E213classes with pointers and M200const members and E214-E216const return type and E65default implementation E50, E213default signature of E65derived classes and M263impact on interfaces E82implicit generation E212inheritance and E69-E70, M259-M265memberwise assignment and E213mixed-type assignments and M260, M261, M263-M265non-const parameters and M165overloading E65partial assignments and M259, M263-M265pointer members and E50-E51prohibiting use of E52reference members and E214-E216return type E65smart pointers and M205virtual M259-M262void return type and E65when not implicitly generated E214-E216operator== M37operator> M37operator>= M37operator>> M37declaring E87vs. scanf E17operator>>= M37operator?: M37, M56operator[] M11, M37, M216const vs. non-const M218distinguishing lvalue and rvalue use M87, M217-M223example declaration E82overloading on const E92-E93return type of E93returning handle E126operator[][] M214operator^ M37operator^= M37operator| M37operator|= M37operator|| M35-M36, M37operator~ M26, M37operatorsimplicit type conversion, see type conversion operatorsnot overloadable M37overloadable M37returning pointers M102returning references M102stand-alone vs. assignment versions M107-M110operators, overloaded, namespace approximations and E121optimization E99, E105, E231see also costs, efficiencyinline functions and E137of exceptions M64of reference counting M187of vptrs under multiple inheritance M120profiling data and M84return expressions and M104return value, see return value optimizationtemporary objects and M104via valarray objects M279order of examination of catch clauses M67-M68order of initialization, see initialization orderostream typedef E226other languages, compatibility with E61Ouija boards M83out_of_range class M66over-eager evaluation M94-M98overflow_error class M66overloadable operators M37overloadingenums and M277function pointers and M243linkers and M271on const E92-E93operator new/delete at global scope M43, M153resolution of function calls M233restrictions M106to avoid type conversions M105-M107user-defined types and M106vs. default parameters E106-E109ownership of objects M162, M183transferring M163-M165P Paielli, Russ Mxiiipair template M246Pandora's box E195Papurt, David Exviii, Exixparameter lists, type conversions and E86parameterssee also pass-by-value, pass-by-reference, passing small objectsdefault, see default parameterspassing, vs. throwing exceptions M62-M67type conversions and, see type conversionsunused M33, M40partial assign

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -