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

📄 indextxt.htm

📁 一个非常适合初学者入门的有关c++的文档
💻 HTM
📖 第 1 页 / 共 5 页
字号:
used in More Effective C++ M5-M8conversion functions, see type conversion functionsconversions, see type conversionsCoplien, Jim Exvii, Exviii, M287copy algorithm E230copy construction, prohibiting E52copy constructors E6, E109, M146bitwise copy and E51, E213classes with pointers and M200default definition E213exceptions and M63, M68for strings M86implicitly generated E212inheritance and E71memberwise copy E213motivation for making private E52non-const parameters and M165pass-by-value and E6, E77, E98-E99pointer members and E51-E52rationale for default behavior E233return-by-value and E6smart pointers and M205virtual, see virtual copy constructorscopying objectsexceptions and M68static type vs. dynamic type M63when throwing an exception M62-M63copy-on-write M190-M194Corbin, David Exixcorrectness, assignment to self and E72costssee also efficiency, optimizationassignment vs. construction and destruction E105of Handle classes E151of initialization vs. assignment E55of inline functions that aren't E139of minimizing compilation dependencies E151of nonminimal interfaces E80of pass-by-value E98-E99of Protocol classes E151of unused objects E135of virtual base classes E198, E118-E120count_if algorithm E230counting objects E59, M141-M145cout E226cows, coming home E143<cstdio> E225, E226<cstdlib> E127<cstring> E225, E226C-style casts M12ctor, definition M6custom memory managementsee memory managementcustomizations via virtual functions E206-E207D D&E E234data membersadding at runtime M287auto_ptr M58control over accessibility E89default assignment E213default initialization E213initialization vs. assignment E53-E57initialization when const M55-M56initialization when static M140replication, under multiple inheritance M118-M120static, in templates M144virtual base classes and E200dataflow languages M93Davis, Bette, allusion to M230Davis, Tony Exix, MxiiiDawley, Kim Exx, MxivDBL_MIN E107deallocation, see memory management, operator deletedebuggers#define and E14inline functions and E142declarations E4of classes E4of functions E4of objects E4of templates E4replacing definitions E147decoupling interfaces and implementations E146-E152decrement operator, see operator--default constructionavoiding when unneeded E137vs. construction with arguments E136default constructors E5, E109arrays and M19-M21definition M19implicitly generated E212meaningless M23restrictions from M19-M22templates and M22virtual base classes and M22when to/not to declare M19default implementationsfor virtual functions, danger of E163-E167of copy constructor E213of operator= E213default parameters E171-E173operator new and E39static binding of E173vs. overloading E106-E109#definecomments and E21debuggers and E14disadvantages of E14, E16vs. const E13-E14vs. inline functions E15-E16definingobjects E135-E137variables E135-E137in if statements E181definitions E4deliberate omission of E116for implicitly generated functions E213for pure virtual functions E162, E166-E167for static class members E29of classes E5of functions E4of objects E4of templates E5replacing with declarations E147deletesee also delete operator, operator delete, ownershipcombining with free E20communication with new E40consistency with new E43deleted pointer and E52determining when valid M152-M157example implementation E44inheritance and M18memory not from new and M21nonvirtual destructors and M256null pointers and E25, M52objects and M173operator delete and E23relationship to destructors E23, E59-E63smart pointers and M173this and M145, M152, M157, M197, M213delete operator M37, M41, M173operator delete[] and destructors and M43placement new and M42this and M145, M152, M157, M197, M213deletionvirtual destructors and E59-E63deliberately introducing ambiguity E111delimiters, field, implementing via virtual functions E202Dement, William E154deprecated features M7access declarators M144conversion from const char* to char* E91old C++ .h headers E225statics at file scope M246strstream class M279deque template E229, M283derived classescatch clauses and M67delete and M18hiding names in base classes E224, E235implementing destructors in E141operator= and E69-E70, M263prohibiting M137designcontradiction in E170for change M252-M270multiple dispatch and M235object-oriented E153-E211of function locations M244of libraries M110, M113, M284, M288of templates M286of types and classes E77-E78, M33, M133, M186, M227, M258, M268of virtual function implementation M248patterns M123, M288poor, and code reuse E206-E209poor, and MI E205-E209Design and Evolution of C++, The E234, Mxiii, M278, M285design goals, for C++ E232Design Patterns CD: Elements of Reusable Object-Oriented Software M289Design Patterns: Elements of Reusable Object-Oriented Software M288Designing and Coding Reusable C++ Exviii, M288destruction, static M273-M275destructors E77delete and M256exceptions and M45free and E19-E20fully constructed objects and M52inlining and E140-E142local objects and E131longjmp and M47memory leaks and M6multiple pointers and E191nonvirtual E81object deletion and E59-E63operator delete[] and M43partially constructed objects and M53possible implementation in derived classes E141private M145protected M142, M147pseudo M145, M146pure virtual E63, M195, M265relationship to delete E23smart pointers and M205virtual M143, M254-M257behavior of E61object deletion and E59-E63determiningwhether a pointer can be deleted M152-M157whether an object is on the heap M147-M157diagnostics classes of the standard C++ library M66diamonds, see multiple inheritancedifferences between first and second editions of Effective C++ Exiv-ExvDilbert E187dispatching, see multiple dispatchdistinguishing lvalue and rvalue use of operator[] M87, M217-M223domain_error class M66dominance E200double application of increment and decrement M33double-dispatch, see multiple dispatchdowncasting E176-E181, E196definition (English) E176eliminating E179safe E179-E181use with read-only libraries E179vs. virtual functions E180dtor, definition M6Duby, Carolyn Mxiiidumb pointers M159, M207duplication of code, see replication of codedynamic arrays M96-M98dynamic bindingdefinition (English) E172of virtual functions E170dynamic typedefinition (English) E172vs. static type M5-M6vs. static type, when copying M63dynamic_cast E10, E179-E181, M6, M37, M261-M262approximating M16example use E180, E181, M156meaning M14null pointer and M70to get a pointer to the beginning of an object M155to reference, failed M70to void* M156virtual functions and M14, M156E eager evaluation M86, M91, M92, M98converting to lazy evaluation M93Eastman, Roger ExixEckel, Bruce MxiiiEdelson, Daniel Mxii, M179Effective C++ Mxii, M5, M100, M286vs. More Effective C++ E237Web site for Exviefficiencysee also costs, compilation dependencies, optimizationas C++ design goal E233assigning smart pointers and M163assignment to self and E72assignment vs. construction and destruction E105benchmarks and M110binding default parameter values and E173caching and E90, M94-M95, M98class statics vs. function statics M133constructors and destructors and M53copying smart pointers and M163cost amortization M93-M98custom memory management and E43encapsulation and M82function return values and M101implications of meaningless default constructors M23incorrect code and E101, E105, E124, E129, E131initialization vs. assignment E54initialization with vs. without arguments and E136inlining and M129iostreams vs. stdio E18, M110-M112language rules and E233libraries and M110, M113locating bottlenecks M83macros vs. inline functions E16maintenance and M91manual methods vs. language features M122member initialization/finalization order and E58memory allocation routines and E39multiple inheritance and M118, M120object size and M98of allocation for small objects E39-E48of exception-related features M64, M70, M78-M80of initializing static members in constructors E57of interface classes E194of numeric_limits E107of prefix vs. postfix increment and decrement M34of stand-alone operators vs. assignment versions M108of standard strings E229operators new and delete and M97, M113paging behavior and M98pass-by-pointer and M65pass-by-reference and E99, M65pass-by-value and E98-E99, M65passing built-in types and E101prefetching M96-M98profiling and M84-M85, M93reading vs. writing reference-counted objects M87, M217reference counting and E52, E229, M183, M211returning pointers/references to class members and E131runtime checks and E216space penalty of MI E199space vs. time M98summary of costs of various language features M121system calls and M97temporary objects and M99-M101tracking heap allocations and M153unused objects and E135virtual functions and E168, M113-M118virtual functions vs. manual methods M121, M235vptrs and M116, M256vs. minimalness in class interfaces E80vs. syntactic convenience M108vtbls and M114, M256Eiffel E146, E19580-20 rule E143, E168Einstein, Albert E101Ellis, Margaret Exviii, E235, Mxii, M285, M288email address for the author Exv, M8embedding, see layeringemulating features, see approximatingencapsulationallowing class implementations to change M207efficiency and M82end function M283English definitionsof aliasing E72of Body class E148of Cheshire Cat class E148of client E9, M7of downcast E176of dynamic binding E172of dynamic type E172of Envelope class E148of Handle class E148of has-a relationship E182of integral types E15of isa relationship E155of is-implemented-in-terms-of relationship E183of layering E182of Letter class E148of local static objects E222of MI E194of non-local static objects E221of Protocol class E149of static type E171of translation unit E220enum hack E15enumsoverloading operators and M277Envelope/Letter classes E146-E149equal algorithm E230equality, see object equalityerrata list, on-linefor Effective C++ Exvifor More Effective C++ M8errorsbenefits of compile-time detection E219compile-time E110vs. runtime E216detected during linking E14, E64, E117, E139, E219library support for E231link-time vs. runtime E216off-by-one E83runtime E110, E157evaluationconverting eager to lazy M93eager M86, M91, M92, M98lazy M85-M93, M94, M98, M191, M219over-eager M94-M98short-circuit M35, M36Eve E176example classes/templatesA E5, E113, E198AbstractAnimal M264AccessLevels E89Address E129, E182Airplane E39, E41, E44, E47, E163, E164, E166AirplaneRep E39Airport E163ALA M46Animal M258, M259, M263, M265Array E57, E62, E81, E116, M22, M27, M29, M30, M225Array::ArraySize M30Array::Proxy M225Array2D M214, M215, M216Array2D::Array1D M216Asset M147, M152, M156, M158Asteroid M229AudioClip M50AuxGraphicalObject E196AuxLottery E196AWOV E63B E5, E113, E169, E198, E224, M255BalancedBST M16BankAccount E174, E177, E178, E180Base E35, E37, E69, E71, E75, E140, E235Base1 E114, E115Base2 E114, E115Bird E156, E158BookEntry M51, M54, M55, M56, M57BritishShortHairedTabby E188BST M16C E6, E75, E198C1 M114C2 M114CallBack M74CantBeInstantiated M130CartoonCharacter E205, E208Cassette M174CasSingle M178Cat E188CatStack E192, E193CD M174CheckingAccount E176, E177, E178, E180Chicken M259, M260, M263, M265Circle E172Clock E5CollisionMap M249CollisionWithUnknownObject M231ColorPrinter M136Complex E101Counted M142CPFMachine M136Cricket E206, E207, E208D E169, E198, E224, M255DatabaseID E204DataCollection M94Date E217, E218Date::Month E218DBPtr M160, M171Derived E35, E69, E71, E76, E114, E115, E140, E235, E236Directory E220, E222DynArray M96Ellipse E161Empty E212EnemyTank E60EnemyTarget E59EngineeringConstants E15EquipmentPiece M19, M23FileSystem E220FlyingBird E156FSA M137GameObject M229, M230, M233, M235, M242GamePlayer E14, E15GenericStack E193Graphic M124, M126, M128, M129GraphicalObject E195Grasshopper E206, E207, E208HeapTracked M154HeapTracked::MissingAddress M154Image M50Insect E208InterestBearingAccount E177IntStack E192, E193Kitten M46LargeObject M87, M88, M89Lizard M259, M260, M262, M263, M265LogEntry M161Lottery E195LotterySimulation E195, E197ManyDataMbrs E55, E56Matrix M90ModelA E163, E165, E166ModelB E163, E165, E166ModelC E164, E165, E167Month E218MusicProduct M173MyPerson E205Name M25NamedArray E62NamedObject E214, E215NamedPtr E53, E54, E68Natural E109NewHandlerSupport E32NewsLetter M124, M125, M127NLComponent M124, M126, M128, M129

⌨️ 快捷键说明

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