递归火山软件开发平台

标题: c++要如何表达回调函数的?例std::sort第三个参数 [打印本页]

作者: 呵呵仙8    时间: 2023-12-1 00:42
标题: c++要如何表达回调函数的?例std::sort第三个参数

c++要如何表达回调函数的?例如std::sort第三个参数改为利用子程序指针把两个要对比的值,传入要回调函数中去?!
(, 下载次数: 34)
<火山程序 类型 = "通常" 版本 = 1 />

方法 _A码文本数组排序 <静态>
参数 A码文本数组 <类型 = 变整数>
参数 数组成员个数 <类型 = 整数>
参数 从小到大排序 <类型 = 逻辑型 注释 = "为真表示从小到大进行排序,为假表示从大到小进行排序." @默认值 = 真>
参数 回调函数 <类型 = 变整数>
{
    @ INT_P*  变整数数组指针 = (INT_P*)@<A码文本数组>;
    @ if (@<从小到大排序>)
    @     std::sort(变整数数组指针, 变整数数组指针 + @<数组成员个数>, [](INT_P  lhs, INT_P  rhs) { return strcmp((const char *)lhs, (const char *)rhs) < 0; });
    @ else
    @     std::sort(变整数数组指针, 变整数数组指针 + @<数组成员个数>, [](INT_P  lhs, INT_P  rhs) { return strcmp((const char *)lhs, (const char *)rhs) > 0; });
}



作者: Xelloss0618    时间: 2023-12-1 09:14
不是一定要用匿名函数的

<火山程序 类型 = "通常" 版本 = 1 />

方法 _A码文本数组排序 <静态>
参数 A码文本数组 <类型 = 变整数>
参数 数组成员个数 <类型 = 整数>
参数 回调函数 <类型 = 变整数>
{
    @ INT_P* 变整数数组指针 = (INT_P*)@<A码文本数组>;
    @ std::sort(变整数数组指针, 变整数数组指针 + @<数组成员个数>, reinterpret_cast<bool(WINAPI*)(INT_P, INT_P)>(@<回调函数>));
}

方法 比较函数 <静态 类型 = 逻辑型 注释 = "返回参数1小于参数2是降序排序" 注释 = "返回参数1大于参数2是升序排序">
参数 参数1 <类型 = 变整数>
参数 参数2 <类型 = 变整数>
{
    返回 (参数1 < 参数2)
}

作者: 呵呵仙8    时间: 2023-12-1 12:32
感谢大神帮忙解答!会c++就是爽!学C++还真是太难了.头都大!!
作者: weilai    时间: 2023-12-1 12:34
其实火山这么快,自己写个排序速度也是非常快的
作者: weilai    时间: 2023-12-1 12:34
其实火山这么快,自己写个排序速度也是非常快的
作者: weilai    时间: 2023-12-1 12:34
其实火山这么快,自己写个排序速度也是非常快的




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4