c++ - 为什么STL中的 vector 没有+=运算符

标签 c++ stl

我很好奇?什么高本底逻辑背后没有实现:

result+=vector1;

result 和 vector1 都是 STL vector 。

注意:我知道如何实现那个位,但我需要知道设计 STL 的圣人在选择不实现此功能时使用的是什么逻辑?

最佳答案

您希望 result 包含什么,将原始 resultvector1 或元素级 + 连接起来的结果=(无论这对底层类型意味着什么),如果大小不匹配,可能会默认初始化成员?

是的,这是一个答案;)。

运算符重载仅应在运算的含义对于基础类型而言明确且实用的情况下使用,并且它会为适当命名的函数调用提供显着的符号简洁性。

请注意,由于其接口(interface)和预期用途,valarrayvector 具有更多的运算符重载。

关于c++ - 为什么STL中的 vector 没有+=运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2488915/

相关文章:

c++ - A*算法人工智能中魔方的启发式函数

c++ - 使用 Vectors 创建对象时如何调用析构函数

c++ - 用于 std::list 和 std::map 的 Visual C++11 堆栈分配器

c++ - STL std::remove_if 编译器失败

c++ - C++ 中的字符串数组 : Extra characters printed

c++ - 重载具有相同参数和不同返回类型的虚函数

c++ - STL erase-remove idiom vs 自定义删除操作和valgrind

c++ - 关于 vector 值

c++ - 删除 vector 中的第零个元素需要更多时间

c++ - 射线平面求交方向 vector