Commit 45c0f87af2466d4e510678f256bf50d20a9068ec
1 parent
d0e55e33
Bugfix
Showing
3 changed files
with
8 additions
and
5 deletions
examples11/04-vectortmpl/vector.h
| ... | ... | @@ -38,7 +38,8 @@ private: |
| 38 | 38 | unsigned i; |
| 39 | 39 | try { |
| 40 | 40 | for (i = 0; i < size; i++) |
| 41 | - new (newdata + i) C(std::move(data[i])); | |
| 41 | +// new (newdata + i) C(std::move(data[i])); | |
| 42 | + new (newdata + i) C(data[i]); | |
| 42 | 43 | } catch (...) { |
| 43 | 44 | destroy_array(newdata, i); |
| 44 | 45 | throw; | ... | ... |
examples11/05-foldexpr/vector.h
| ... | ... | @@ -38,7 +38,8 @@ private: |
| 38 | 38 | unsigned i; |
| 39 | 39 | try { |
| 40 | 40 | for (i = 0; i < size; i++) |
| 41 | - new (newdata + i) C(std::move(data[i])); | |
| 41 | + new (newdata + i) C(data[i]); | |
| 42 | +// new (newdata + i) C(std::move(data[i])); | |
| 42 | 43 | } catch (...) { |
| 43 | 44 | destroy_array(newdata, i); |
| 44 | 45 | throw; | ... | ... |
examples11/06-template_metaprogramming/vector.h
| ... | ... | @@ -36,7 +36,8 @@ private: |
| 36 | 36 | unsigned i; |
| 37 | 37 | try { |
| 38 | 38 | for (i = 0; i < size; i++) |
| 39 | - new (newdata + i) C(std::move(data[i])); | |
| 39 | + new (newdata + i) C(data[i]); | |
| 40 | +// new (newdata + i) C(std::move(data[i])); | |
| 40 | 41 | } catch (...) { |
| 41 | 42 | destroy_array(newdata, i); |
| 42 | 43 | throw; |
| ... | ... | @@ -157,12 +158,12 @@ public: |
| 157 | 158 | } |
| 158 | 159 | |
| 159 | 160 | template <class T> std::tuple<C &> push_back(T &&s) { |
| 160 | - C &r = emplace_back(std::forward<C>(s)); | |
| 161 | + C &r = emplace_back(std::forward<T>(s)); | |
| 161 | 162 | return std::tuple<C &>(r); |
| 162 | 163 | } |
| 163 | 164 | |
| 164 | 165 | template <class T, class... Args> auto push_back(T &&a, Args &&... args) { |
| 165 | - auto op1 = push_back(std::forward<C>(a)); | |
| 166 | + auto op1 = push_back(std::forward<T>(a)); | |
| 166 | 167 | auto op2 = push_back(args...); |
| 167 | 168 | return std::tuple_cat(op1, op2); |
| 168 | 169 | } | ... | ... |