我很好奇?什么高本底逻辑背后没有实现:
result+=vector1;
result 和 vector1 都是 STL vector 。
注意:我知道如何实现那个位,但我需要知道设计 STL 的圣人在选择不实现此功能时使用的是什么逻辑?
最佳答案
您希望 result
包含什么,将原始 result
与 vector1
或元素级 + 连接起来的结果=
(无论这对底层类型意味着什么),如果大小不匹配,可能会默认初始化成员?
是的,这是一个答案;)。
运算符重载仅应在运算的含义对于基础类型而言明确且实用的情况下使用,并且它会为适当命名的函数调用提供显着的符号简洁性。
请注意,由于其接口(interface)和预期用途,valarray
比 vector
具有更多的运算符重载。
关于c++ - 为什么STL中的 vector 没有+=运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2488915/