84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
感觉我平时能用指针都用指针的说……
业精于勤,荒于嬉;行成于思,毁于随。
能不用指针就不用指针,智能指针和引用都是很好的选择。
我到觉得,C++不用指针就等于折了C++的翅膀,但是使用指针是需要很小心的。
基本上来说,就是哪里 new 就在哪里 delete (特殊情况就是在 create() 方法里 new 在 remove() 方法里 delete,但同时需要 create() 和 remove() 尽量在同一个代码块内,依次类推,最典型的就是构造里 new,析构里 delete。
另外,尽量不要使用指针运算,如果需要运算的地方,尽可能的使用数据方式处理,比如 *(p++),可以写成 p[1],这样避免改变指针的值,造成混乱。
如果确定用指针你也能控制住对象的生命周期, 那可以用指针. (注意要考虑到 C++ 异常) 否则, 用智能指针.
能不用指针就不用指针,智能指针和引用都是很好的选择。
我到觉得,C++不用指针就等于折了C++的翅膀,但是使用指针是需要很小心的。
基本上来说,就是哪里 new 就在哪里 delete (特殊情况就是在 create() 方法里 new 在 remove() 方法里 delete,但同时需要 create() 和 remove() 尽量在同一个代码块内,依次类推,最典型的就是构造里 new,析构里 delete。
另外,尽量不要使用指针运算,如果需要运算的地方,尽可能的使用数据方式处理,比如 *(p++),可以写成 p[1],这样避免改变指针的值,造成混乱。
如果确定用指针你也能控制住对象的生命周期, 那可以用指针. (注意要考虑到 C++ 异常)
否则, 用智能指针.