Man*_*anu 1 c++ pointers class operator-overloading
我有一节课:
class Name {
public:
int key;
Name* next;
}
Run Code Online (Sandbox Code Playgroud)
我怎么能写operator++这样当p是"Node* p"如果我写"p++"它会做"p = p->next"?
期待的感谢,Marron.
你不能,也不应该,因为这是违反直觉的.
关于拥有一系列这样的对象:
Name names[42];
Name* p = names;
p++;
Run Code Online (Sandbox Code Playgroud)
p现在应该指向数组中的第二个元素(即names[1]),而不是任何names[0]保持.
如果一个对象持有指向下一个对象的指针,那么最好应用于++对象本身(而不是指针)应该给你下一个对象.
| 归档时间: |
|
| 查看次数: |
518 次 |
| 最近记录: |