PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_and_CPP
[问题] 重载[][] 下标运算子(架构已定)
楼主:
hunandy14
(Charlott.HonG)
2016-11-03 18:05:49
程式码连结:https://goo.gl/t7nEkR
class raw{
private:
unt x;
unt y;
unt len;
vector<uch> img;
}
可以做到
raw a(3, 3);
cout << a[n] << endl;
或是
a[n] = x;
刚好就读取道 img 对应的位置没问题
可是我如果想要用二维的方式读取自己写了
a.at2d(x, y);
如果图是[3x3]
那么 a.at2d(1, 0);
可以读写img[3]
现有结构有方法可以把
a.at2d(1, 0);
置换成
a[1][0]
又不影响
a[pos] 吗?
作者:
shadow0326
(非议)
2016-11-03 18:42:00
拉出class row,重载uch& row::operator []以及重载row& raw::operator[]啊我没有看到不影响a[pos]的需求 唔可能可以再让row能隐式转换成uch 我觉得很丑就是了
作者:
CoNsTaR
((const *))
2016-11-03 19:09:00
如果我理解没错的话 你想要用一样的话做两件不同的事 你觉得有办法吗…
作者:
Caesar08
(Caesar)
2016-11-03 19:48:00
return一个别的class,支援conversion function与operator[]
作者:
ilikekotomi
(Young)
2016-11-03 22:56:00
凯萨大大讲的可以看书 more effective C++里面有个proxy class在讲这件事情 我临时找不到code
作者:
CoNsTaR
((const *))
2016-11-03 23:17:00
咦…原Po的意思不是用[][]的时候把a当作二维,用[]的时候当作一维吗?
作者:
ilikekotomi
(Young)
2016-11-03 23:19:00
http://ideone.com/eTTHNU
刚刚大概回想一下因为[][]没办法重载所以要分两段不知道是不是会错意没看到没看到又不影响a[pos]原PO讲的情况用( )做会比较简单 要不影响有我没想到
作者:
Caesar08
(Caesar)
2016-11-04 00:36:00
http://ideone.com/Tm4Bgk
我觉得这不是好写法。今天要是用3-d array,用一个[]与三个[],都能知道是什么意思。那如果用两个[],请问是?用明确一点的function来存取会比你只用[]好
作者:
ilikekotomi
(Young)
2016-11-04 01:31:00
明天也来看一下 感谢凯萨大大示范
作者:
Caesar08
(Caesar)
2016-11-04 11:19:00
是的。不过再额外提供operator=给assign value比较好
作者:
ilikekotomi
(Young)
2016-11-04 20:14:00
感谢凯萨大大的回复 又学到了一课
继续阅读
[问题] 请问关于a=a++的问题
cat99961
[问题] 画面显示and档案读写 timer问题
checkIO
[问题] opencv 找特征点
eleasm
[问题] 这个ret2text的exploit问题
b0920075
[问题] qt结合opencv显示kinectv2的画面却失败
GermanGerm
[问题] vector.clear() seg fault
fishlinghu
[问题] UDP client发送接收分两个档案写
s890269
[问题] 请问如何使用FFMPEG将jpg转成420格式?
evilkiss
[问题] 1/阶层的倒数累加问题
yahhhhhh
[问题] CSV -> ZIP问题
checkIO
Links
booklink
Contact Us: admin [ a t ] ucptt.com