关于void (visit)(const ElemType &)的理解[通俗易懂]

关于void (visit)(const ElemType &)的理解[通俗易懂]*关于void(visit)(constElemType&)的理解visit是一个函数指针,指向一个具体的函数,我们在具体使用visit时通过调用它(visit)的函数来调用它(visit)指向的函数,这个函数的形参列表为(constElemType&),看代码:template<classElemType>SeqList<ElemType&g…

大家好,又见面了,我是你们的朋友全栈君。

*关于void (visit)(const ElemType &)的理解
visit是一个函数指针,指向一个具体的函数,我们在具体使用visit时通过调用它(visit)的函数来调用它(visit)指向的函数,这个函数的形参列表为(const ElemType &),看代码:

template <class ElemType>
SeqList<ElemType>::SeqList(ElemType v[], int n, int size)    //构造函数
{
 elems = new ElemType[size];    
 assert(elems);                   
 maxLength = size;   
 length = n;     
 for (int i = 0; i < length; i++) 
  elems[i] = v[i]; 
}
 template <class ElemType>
SeqList<ElemType>::void traverse(void (*visit)(const T &))const
{
    for(int i=0;i<length;i++)
    {
        (*visit)(elems[i]);
    }
}
template <class ElemType>
void Write(const ElemType &e)
{
    cout << e << "  ";
}

    int a[]={1,2,3};
    SeqList<int> la(a,3,5);
    la.Traverse(Write);           

结果为:
在这里插入图片描述
单纯遍历表是没有用的,使用函数指针指向操作函数使遍历操作模式化,各种操作函数再通过Treverse函数来遍历表。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144710.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月12日 下午3:20
下一篇 2022年5月12日 下午3:40


相关推荐

  • uniqueidentifier什么意思_数据类型int是什么意思

    uniqueidentifier什么意思_数据类型int是什么意思uniqueidentifier数据类型可存储16字节的二进制值,其作用与全局唯一标记符(GUID)一样。GUID是唯一的二进制数:世界上的任何两台计算机都不会生成重复的GUID值。GUID主要用于在用于多个节点,多台计算机的网络中,分配必须具有唯一性的标识符。在SQL中ROWGUIDCOL表示新列是行的全局唯一标识列。对于每个表只能指派一个uniqueidentifier列作为ROWGUI

    2025年9月7日
    10
  • PyCharm如何设置 “ctrl+滚轮” 实现字体的放大和缩小「建议收藏」

    PyCharm如何设置 “ctrl+滚轮” 实现字体的放大和缩小「建议收藏」一、PyCharm字体放大的设置File–>setting–>Keymap–>在搜索框中输入increase—>IncreaseFontSize(双击)–>在弹出的对话框中选择AddMouseShortcut–>弹出的对话框后按住ctrl键的同时鼠标滚轮向上滑。二、Pycharm字体缩小的设置:File–>setting–>Keymap–>在搜索框中输入decrease—>

    2022年8月27日
    10
  • springboot—@Async实现异步调用及异步回调Future「建议收藏」

    springboot—@Async实现异步调用及异步回调Future「建议收藏」异步调用相对的是同步调用。同步方法调用的时候必须是按照顺序执行的,上一行代码执行完,才会执行下一行。而异步方法调用是相当于多个线程执行,不需要等待上一行代码的执行结果。首先测试方法同步的情况:controller:packagespringboot_async.async_test;importorg.springframework.beans.factory.annot…

    2022年7月27日
    45
  • Spring mvc介绍

    Spring mvc介绍Spring mvc介绍

    2022年4月22日
    41
  • forEach的三种用法

    forEach的三种用法forEach 的三种用法 1 直接 forEach 遍历 for inti list System out println i 2 用 system out println list forEach System out println 3 有 map 集合键值对的情况下 set forEach key gt System out

    2026年3月16日
    3
  • 阿里druid数据连接池jar包(完整版)[通俗易懂]

    阿里druid数据连接池jar包(完整版)[通俗易懂]Druid(德鲁伊)是阿里巴巴开发的号称为监控而生的数据库连接池,Druid是目前最好的数据库连接池。在功能、性能、扩展性方面,都超过其他数据库连接池,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。Druid地址:https://github.com/alibaba/druidDRUID连…

    2022年7月23日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号