# Array::EmplaceBack() ```cpp template T& EmplaceBack(Args&&... args); ``` 在数组末尾就地构造一个元素,直接在内存中构造,不产生临时对象。 **优势:** - 避免拷贝或移动开销 - 直接在底层缓冲区末尾构造元素 - 参数完美转发,支持任意构造参数 **参数:** - `args` - 转发给 `T` 构造函数的参数包 **返回:** 新构造元素的引用 **复杂度:** 均摊 O(1) **线程安全:** ❌ 操作期间不可并发访问 **示例:** ```cpp struct Vertex { float x, y, z; Vertex(float x_, float y_, float z_) : x(x_), y(y_), z(z_) {} }; Containers::Array vertices; // EmplaceBack 直接构造,不产生临时 Vertex 对象 vertices.EmplaceBack(1.0f, 2.0f, 3.0f); vertices.EmplaceBack(4.0f, 5.0f, 6.0f); // 对比 PushBack(需要先构造临时对象) Vertex v(7.0f, 8.0f, 9.0f); vertices.PushBack(v); // 产生拷贝或移动 // EmplaceBack 更高效,始终优先使用 ``` ## 相关文档 - [Array 总览](array.md) - 返回类总览