※ 引述《JeffHung.bbs@ptt.cc (御風只配做笨木頭)》之銘言:
> 建議寫一個 member function 如下:
> template <class T>
> class Array2D
> {
> public:
> ...
> T& at(size_t x, size_t y);
> ...
> };
> 而不要 overload []。
其實我看過的較佳實作方式,
是去 overload operator(),
也就是 T &operator()(size_t x, size_t y);
這樣就能直接以 (x, y) 存取內容,
至於 .at(x, y) 的功能一般是做成會 check boundary 的版本。
--
Name: Tseng, Ling-hua E-mail Address: uranus@it.muds.net
School: National Tsing Hua University Department: Computer Science
Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design
Researching: Software pipelining for VLIW architectures
Homepage: https://it.muds.net/~uranus
--
╔═══╗ ┼────────────────────────╮
║狂狷 ║ │* Origin:[ 狂 狷 年 少 ] whshs.cs.nccu.edu.tw ╰─╮
║ 年少║ ┼╮ < IP:140.119.164.252 > ╰─╮
╚╦═╦╝ ╰ * From:61-230-217-190.dynamic.hinet.net
─╨─╨─ KGBBS ─ ◎ 遨翔"BBS"的狂狷不馴;屬於年少的輕狂色彩 ◎