bool operator*(){}
(只会写框架的究极juruo)
by rangertank @ 2024-04-27 19:39:54
@[__Ending__](/user/995753) 实现一个函数是一样的效果吧
by Eason_cyx @ 2024-04-27 19:41:27
@[rangertank](/user/703487)
不对吧,貌似前面应加个 `friend`?我拿不准这里:
```cpp
friend bool operator [?] * (map<int,int>n,map<int,int>m){
}
```
by __Ending__ @ 2024-04-27 19:42:13
不知道欸,friend好像是你用了class之后才需要的吧,看你自己的代码用不用class 吧?
by rangertank @ 2024-04-27 19:43:29
@[__Ending__](/user/995753)
by rangertank @ 2024-04-27 19:43:39
不对,打错了,是这样:
```cpp
friend [?] operator * (map<int,int>n,map<int,int>m){
}
```
by __Ending__ @ 2024-04-27 19:43:42
@[Eason_cyx](/user/741244)
嗯对的,我想重载个试试
by __Ending__ @ 2024-04-27 19:44:53
啊对,不写class是可以不用friend的 @[__Ending__](/user/995753)
by rangertank @ 2024-04-27 19:45:30
@[__Ending__](/user/995753)
C++ 可是多范式编程语言,您可以使用 C++ 中的函数式编程思维来解决这个问题:
*(这里我不知道你的下标如何定义,就使用了假设的全局变量 `N` 来迭代。您可以自行修改。您也可以提供更详细的内容请我帮忙修改)*
```cpp
map<int, int> operator*(const map<int, int>& a, const map<int, int>& b) {
map<int, int> res;
for (int i = 1; i <= N; i++) {
res[i] = a[i] + b[i];
}
return res;
}
```
使用 C++14 将默认开启移动语义,这样函数返回结果时就可以避免数据复制,从而提升效率。
by CleanIce @ 2024-04-27 19:45:52
@[CleanIce](/user/821660) 《chatgpt大神》
by rangertank @ 2024-04-27 19:46:20