C++函数指针入门:理解类型与指针应用

下载需积分: 46 | PDF格式 | 4.25MB | 更新于2024-08-09 | 71 浏览量 | 34 下载量 举报
收藏
本资源是一篇关于C++入门的教程,着重介绍了机器学习中的一个概念——函数指针及其在C++编程中的应用。章节开始于对C++中字符串比较函数`compare()`的讨论,这个函数在第6.10节首次介绍,并指出它是如何在`sort()`函数中使用的。`lexicoCompare()`函数被用来按照字典顺序比较两个字符串,其返回值根据字符串的大小关系确定。 主要内容围绕指向函数的指针(function pointer)展开。首先,讲解了如何正确声明指向函数的指针,强调了函数名并不构成其类型的组成部分,而是由返回类型和参数列表决定。例如,正确声明指向`lexicoCompare()`的指针应该写作`int (*pf)(const string &, const string &);`,括号内的部分明确了函数接受两个`const string`类型的参数并返回一个`int`。 接着,作者提到了函数类型匹配的重要性,展示了哪些函数类型可以与`lexicoCompare()`指针兼容,如`sizeCompare()`和`calc()`,以及为什么`gcd()`和`printf()`、`strlen()`这样的函数由于参数列表和返回类型的不同,不能被同一个指针指向。同时,作者还强调了省略号在函数类型中的角色,如果两个函数的参数列表尽管相似但末尾有省略号,它们被认为是不同的函数类型。 最后,文章指出C++作为一种复杂的编程语言,虽然历史悠久且发展迅速,但在1998年ISO标准化后变得更加统一,使得编写可移植代码和利用标准库变得可能。作者强调,本书是对C++语言的深度剖析,纠正了作者自己和其他读者过去可能存在的误解,是经验和标准化的完美结合,适合那些想要全面理解C++的新老程序员阅读。因此,阅读这份资料不仅有助于掌握C++基础,还能深入了解其最新发展和最佳实践。

相关推荐