| 233 | // 通过万能引用实现 push_back 的两个版本 |
| 234 | template<typename Types> |
| 235 | void push_back(Types&& args) |
| 236 | { |
| 237 | if (full()) { |
| 238 | expand(); |
| 239 | } |
| 240 | // 1. 引用折叠 &+&& => &, &&+&& => && |
| 241 | // 2. 类型完美转发 forward |
| 242 | _allocator.construct(_last, std::forward<Types>(args)); |
| 243 | ++ _last; |
| 244 | } |
| 245 | |
| 246 | template<typename... Types> |
| 247 | void emplace_back(Types&&... args) |
no test coverage detected