From a6051b2058809063fa005b55eed90a22610bca25 Mon Sep 17 00:00:00 2001 From: Alexolut Date: Sat, 19 Dec 2015 12:43:36 +0300 Subject: [PATCH] fixed typos --- CppCoreGuidelines.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/CppCoreGuidelines.md b/CppCoreGuidelines.md index 73c11e3..f783750 100644 --- a/CppCoreGuidelines.md +++ b/CppCoreGuidelines.md @@ -13664,7 +13664,7 @@ In general, however, avoid concrete base classes (see Item 35). For example, `un **References**: [[C++CS]](#C++CS) Item 50, [[Cargill92]](#Cargill92) pp. 77-79, 207¸ [[Cline99]](#Cline99) §21.06, 21.12-13¸ [[Henricson97]](#Henricson97) pp. 110-114¸ [[Koenig97]](#Koenig97) Chapters 4, 11¸ [[Meyers97]](#Meyers97) §14¸ [[Stroustrup00]](#Stroustrup00) §12.4.2¸ [[Sutter02]](#Sutter02) §27¸ [[Sutter04]](#Sutter04) §18 -### Discussion: Usage of noexecpt +### Discussion: Usage of noexcept ??? @@ -13726,7 +13726,7 @@ Never allow an error to be reported from a destructor, a resource deallocation f 5. You can't use `Nefarious` objects in standard containers: - std::vector vec(10); // this is line can std::terminate() + std::vector vec(10); // this line can std::terminate() The standard library forbids all destructors used with it from throwing. You can't store `nefarious` objects in standard containers or use them with any other part of the standard library. @@ -13879,7 +13879,7 @@ This class is a resource handle. It manages the lifetime of the `T`s. To do so, ##### Enforcement -The basic technique for preventing leaks is to have every resource owned by a resource handle with a suitable destructor. A checker can find "naked `new`s". Given a list of C-style allocation functions (e.g., `fopen()`), a checker can also find uses that are not managed by a resource handle. In general, "naked pointers" can be viewed with suspicion, flagged, and/or analyzed. A a complete list of resources cannot be generated without human input (the definition of "a resource" is necessarily too general), but a tool can be "parameterized" with a resource list. +The basic technique for preventing leaks is to have every resource owned by a resource handle with a suitable destructor. A checker can find "naked `new`s". Given a list of C-style allocation functions (e.g., `fopen()`), a checker can also find uses that are not managed by a resource handle. In general, "naked pointers" can be viewed with suspicion, flagged, and/or analyzed. A complete list of resources cannot be generated without human input (the definition of "a resource" is necessarily too general), but a tool can be "parameterized" with a resource list. ### Never throw while holding a resource not owned by a handle @@ -13954,7 +13954,7 @@ To avoid extremely hard-to-find errors. Dereferencing such a pointer is undefine { string* p = bad(); vector xx = {7, 8, 9}; - string x = *p; // undefined behavior: x may not be 1 + string x = *p; // undefined behavior: x may not be "this" *p = "Evil!"; // undefined behavior: we don't know what (if anything) is allocated a location p } @@ -13962,7 +13962,7 @@ The `string`s of `v` are destroyed upon exit from `bad()` and so is `v` itself. ##### Enforcement -Most compilers already warn about simple cases and has the information to do more. Consider any pointer returned from a function suspect. Use containers, resource handles, and views (e.g., `span` known not to be resource handles) to lower the number of cases to be examined. For starters, consider every class with a destructor a resource handle. +Most compilers already warn about simple cases and has the information to do more. Consider any pointer returned from a function suspect. Use containers, resource handles, and views (e.g., `span` known not to be resource handles) to lower the number of cases to be examined. For starters, consider every class with a destructor as resource handle. ### Use templates to express containers (and other resource handles) @@ -14025,7 +14025,7 @@ Now `Named` has a default constructor, a destructor, and efficient copy and move ##### Enforcement -In general, a tool cannot know if a class is a resource handle. However, if a class has some of [the default operations](#SS-ctor), it should have all, and if a class has a member that is a resource handle, it should be considered a resource handle. +In general, a tool cannot know if a class is a resource handle. However, if a class has some of [the default operations](#SS-ctor), it should have all, and if a class has a member that is a resource handle, it should be considered as resource handle. ### If a class is a container, give it an initializer-list constructor