|
1
0
你已经进入了一个行为不明的世界。您的示例_funcA具有签名:
在调用它之前。这使得编译器认为它需要复制第二个参数,因为它希望它通过值传递,而实际上示例_funcA需要常量引用。编译器设置(和复制)参数的方式与方法实际期望的不匹配可能会导致副本丢失,从而导致泄漏。当您将共享的\u ptr绑定到示例\u funcB时,绑定捕获了共享的\u ptr,而正是这个捕获导致了泄漏。 正如已经有人评论的那样,您应该避免C样式转换,因为使用它们的编译器不会对您提供任何保护。喜欢静态演员阵容<&燃气轮机;或者在你能做到的地方不投。 |
![]() |
Jersey · 如何在自己的定义中缩写类名? 7 年前 |
![]() |
Felix · 为什么我用typedef定义自然类型的尝试不起作用? 7 年前 |
![]() |
cppBeginner · 将“typedef”设为最终(或模拟) 7 年前 |
![]() |
coJetty · 使用或typedef减少模板参数 7 年前 |
![]() |
VannTen · 使用指向非结构类型的不透明指针 7 年前 |
|
John Smith · C中带有数组的Typedef 7 年前 |
![]() |
thndrwrks · 带有typedef ed函数指针的常量限定符 7 年前 |