| 查看: 844 | 回复: 5 | |||
lixy1217木虫 (著名写手)
|
[交流]
STL中重载运算的问题
|
|
以vector的加法为例,首先想到的语法是 template<typename T> vector<T>&operator+(vector<T>&a,vector<T>&b) 但是有一个问题,我们会希望不同类型(int、double、complex)之间的向量应该也是可以相加的。 而如果用两个类型名,写成如下 operator+(vector<T1>&a,vector<T2>&b) 我们又无法在定义的时候就知道该返回哪个类型的,显然int+double应该返回double,而double+complex该返回complex 而如果放弃对"+"的重载,而只重载"="和"+=",即 "c=a; c+=b;" 的方式,这样看起来不舒服倒是小事,但我如果还想重载一个矩阵与向量的乘法那该怎么办呢? 还有一种方法,就是将"小"的向量赋值给"大"的向量,达到类型统一后再进行计算,可这样的话就可能要多出很多计算量。 例如complex+complex是double+complex的两倍,而complex*complex大概是double*complex的三倍。 这方面,Matlab似乎很好的解决了此问题,但不知道用了什么样的办法。 当然还是更希望能听到各位的高见~ |
» 猜你喜欢
2026年国自然面上资助率
已经有20人回复
一个有机合成实验室都需要哪些设备?
已经有5人回复
面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇!
已经有22人回复
微信指数没变化,科研之友没阅读
已经有18人回复
基础研究怎么拉横向,学校到款任务越来越多,难以完成 拉横向,都有哪些途径啊
已经有8人回复
HXDI做水性聚氨酯乳液,是不是特别容易出渣
已经有3人回复
系统今天又提示维护了,估计离放榜不远了
已经有15人回复
你们的时间戳变了吗
已经有4人回复
产物和副产物价值比较
已经有5人回复
时间戳他又来了
已经有17人回复

dlmufei
木虫 (小有名气)
- 应助: 6 (幼儿园)
- 金币: 3904.5
- 散金: 10
- 帖子: 246
- 在线: 184.1小时
- 虫号: 2426711
- 注册: 2013-04-19
- 性别: GG
- 专业: 地理学

2楼2015-09-15 12:29:09
lixy1217
木虫 (著名写手)
- 应助: 4 (幼儿园)
- 金币: 4624.1
- 散金: 117
- 红花: 7
- 帖子: 1381
- 在线: 234.3小时
- 虫号: 1125891
- 注册: 2010-10-18
- 性别: GG
- 专业: 计算数学与科学工程计算

3楼2015-09-15 16:01:34
dlmufei
木虫 (小有名气)
- 应助: 6 (幼儿园)
- 金币: 3904.5
- 散金: 10
- 帖子: 246
- 在线: 184.1小时
- 虫号: 2426711
- 注册: 2013-04-19
- 性别: GG
- 专业: 地理学

4楼2015-09-15 17:10:19
5楼2015-09-17 09:23:01
lixy1217
木虫 (著名写手)
- 应助: 4 (幼儿园)
- 金币: 4624.1
- 散金: 117
- 红花: 7
- 帖子: 1381
- 在线: 234.3小时
- 虫号: 1125891
- 注册: 2010-10-18
- 性别: GG
- 专业: 计算数学与科学工程计算

6楼2015-09-18 09:22:14










回复此楼