Skip to content

Commit 620dc77

Browse files
authored
Add a nested-name-specifier note (#48)
1 parent b76f408 commit 620dc77

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

src/20_perfect_forwarding.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ T&& forward(typename type_identity<T>::type& obj) {
124124
}
125125
```
126126

127-
В STL вместо `type_identity` используется `remove_reference`. Так же есть перегрузка для rvalue (`T&&`), которая полезна, например, для форварда значения, возвращаемого функцией.
127+
Теперь `T` не будет выводиться, потому что тип это [nested-name-specifier](https://en.cppreference.com/w/cpp/language/template_argument_deduction#:~:text=nested%2Dname%2Dspecifier), то есть не указать `T` явно при вызове &mdash; ошибка компиляции. В STL вместо `type_identity` используется `remove_reference`. Также есть перегрузка для rvalue (`T&&`), которая полезна, например, для форварда значения, возвращаемого функцией.
128128

129129
## Variadic templates
130130

src/28_concepts.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ void advance(It it&, ptrdiff_t diff)
7979
8080
Могли бы сделать это через ```enable_if``` или ```tag_dispatching```, В С++ 17 могли бы реализовать через ``` if constexpr``` .
8181
82-
Но с концертами могли бы сделать максимально прямолинейно, две перегрузки, одна для ```RandomAccessIterator```, другая для остальных.
82+
Но с концептами могли бы сделать максимально прямолинейно, две перегрузки, одна для ```RandomAccessIterator```, другая для остальных.
8383
8484
В общем случае, если будем пользоваться SFINAE, то сначала выполнится подстановка, но внутри функция может не скомпилироваться -- это понятие называется SFINAE-friendly
8585

0 commit comments

Comments
 (0)