![]() |
1
27
您不使用常量引用的文本有问题吗?不能将临时引用(由文本生成)绑定到非常量引用,因为更改临时引用毫无意义。可以将一个绑定到常量引用。
指针很有用,因为它们有一个可以测试的保证无效值。有时这是无关紧要的,有时这是非常重要的。当然,通常不能通过指针传递文本,除非(在字符串文本的情况下)它已经是了。 一些编码标准规定,不应该通过非常量引用传递任何内容,因为它在调用点不提供参数可能被函数更改的指示。在这种情况下,需要通过指针传递。我不赞成这样做,尤其是编程工具使获取函数签名变得越来越容易,因此您可以看到函数是否可能更改参数。然而,在团队或企业中工作时,风格一致性比任何个人风格元素都更重要。 |
![]() |
2
27
一个很好的经验法则:“当你可以的时候使用引用,当你必须的时候使用指针”。 |
![]() |
3
6
|
![]() |
4
5
我真的不明白你为什么要这么麻烦:
|
![]() |
5
3
可能不是问题的答案。只是亲吻。
|
![]() |
6
2
你可以浏览 http://www.cplusplus.com/forum/beginner/3958/ 一些见解。 也很有用: http://www.velocityreviews.com/forums/t284603-pointers-vs-references-a-question-on-style.html
我个人比较喜欢推荐信,但我还是建议你去读那些帖子,好好想想。 |
![]() |
7
2
一般来说,总是尝试通过引用const来传递参数。传递指针可能会导致所有权问题以及一系列其他可能的细微错误。 空的目的是什么?指示无效的指针/对象。如果要将无效对象传递给函数,那么所要做的就是有一个检查对象有效性的方法。例如:
哦,为了真正的例外安全,尽量避免这种情况:
相反,请执行以下操作:
查看RAII和异常安全,了解为什么这是首选方法。 |
![]() |
8
1
我更喜欢
我真的不明白这是怎么解决你的问题,这是关于优点的参考与ptr,虽然。在你引用的两个例子中,我希望使用第二个(ref)形式。 |
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |