Quartz Core 中奇怪的函数名称:是什么造成的?
出于好奇,这些函数名称(在 Apple 的 Quartz Core 框架中找到)背后的基本原理是什么?
ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv()
ZNK2CA6Render9Animation9next_timeEdRd()
ZN2CA11GenericRectIiE5insetEii()
您认为开发人员是否以某种方式在函数名称中编码了参数类型?在日常编码过程中,您如何发现自己将“EP19”放在那里?在什么情况下,这种难以阅读的函数名称实际上可以帮助您阅读代码并提高工作效率?
预先感谢您的任何提示,圣诞快乐!
Out of curiosity, what may the rationale behind these function names (found in Apple's Quartz Core framework) be?
ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv()
ZNK2CA6Render9Animation9next_timeEdRd()
ZN2CA11GenericRectIiE5insetEii()
Do you think the developers somehow encoded argument types in function names? How do you find yourself putting "EP19" in there in the course of day-to-day coding? In what circumstances do such barely readable function names actually help you read code and otherwise be more productive?
Thanks in advance for any hints, and Merry Christmas!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这些“损坏的”名称由 C++ 编译器自动生成,并且确实编码类型信息。
These 'mangled' names are automatically generated by the C++ compiler and indeed encode type information.