fix code examples

This commit is contained in:
Thibault Kruse 2016-08-26 03:47:06 +02:00
parent 3acba2ebae
commit 9590bb94b1

View File

@ -587,7 +587,7 @@ You don't need to write error handlers for errors caught at compile time.
This example is easily simplified This example is easily simplified
// Int is an alias used for integers // Int is an alias used for integers
static_assert(sizeof(Int) >= 4); // do: compile-time check static_assert(sizeof(int) >= 4); // do: compile-time check
##### Example ##### Example
@ -2609,6 +2609,7 @@ Unique owner types that are move-only and cheap-to-move, such as `unique_ptr`, c
For example: For example:
template <class T>
void sink(std::unique_ptr<T> p) { void sink(std::unique_ptr<T> p) {
// use p ... possibly std::move(p) onward somewhere else // use p ... possibly std::move(p) onward somewhere else
} // p gets destroyed } // p gets destroyed
@ -6610,7 +6611,7 @@ Capping an individual virtual function with `final` is error-prone as that `fina
// ... // ...
use(new Better_interface{}); use(new Better_implementation{});
The problem is easy to see in a small example, but in a large hierarchy with many virtual functions, tools are required for reliably spotting such problems. The problem is easy to see in a small example, but in a large hierarchy with many virtual functions, tools are required for reliably spotting such problems.
Consistent use of `override` would catch this. Consistent use of `override` would catch this.
@ -7234,7 +7235,7 @@ Readability. Convention. Reusability. Support for generic code
##### Example ##### Example
void cout_my_class(const my_class& c) // confusing, not conventional,not generic void cout_my_class(const My_class& c) // confusing, not conventional,not generic
{ {
std::cout << /* class members here */; std::cout << /* class members here */;
} }
@ -15016,7 +15017,7 @@ This limits use and typically increases code size.
}; };
List<int> lst1; List<int> lst1;
List<int, my_allocator> lst2; List<int, My_allocator> lst2;
??? ???
@ -15043,7 +15044,7 @@ This looks innocent enough, but ???
}; };
List<int> lst1; List<int> lst1;
List<int, my_allocator> lst2; List<int, My_allocator> lst2;
??? ???
@ -17464,7 +17465,7 @@ If code is using an unmodified standard library, then there are still workaround
at(v, 0) = a[0]; // OK (alternative 2) at(v, 0) = a[0]; // OK (alternative 2)
v.at(0) = a[i]; // BAD v.at(0) = a[i]; // BAD
v.at(0) = a.at(i) // OK (alternative 1) v.at(0) = a.at(i); // OK (alternative 1)
v.at(0) = at(a, i); // OK (alternative 2) v.at(0) = at(a, i); // OK (alternative 2)
} }