函数指针作为形参进行调用

代码

  • 两个代码均位于namespace作用域之内
  • addOne将传递进来的形参进行加一,然后返回
  • performance_test函数主要是想简化函数调用,两个形参,第一个表示循环的次数,第二个是带参数的函数指针,函数内部初始化start和end两个timeval的结构体实现时间差的相对计算,
#ifndef C___PERFOR_TEST_H
#define C___PERFOR_TEST_H
#pragma once#include <sys/time.h>#include "No1_track_instances.h"namespace TEST{int addOne(int& x){return x+1;}void performance_test(int num,int fun(int& x)){struct timeval start;struct timeval end;gettimeofday(&start, NULL);//开始计时int sum = 0;for(int i=0;i<num;++i){sum += fun(i);}std::cout << "sum= " << sum <<std::endl;gettimeofday(&end, NULL);//结束计时std::cout<<"总计用时: " << (((end.tv_sec - start.tv_sec)*1000000 +(end.tv_usec - start.tv_usec)))/1000000 <<std::endl;}}#endif //C___PERFOR_TEST_H

函数调用

  • TEST::performance_test(15,TEST::addOne);
  • 调用性能测试代码,传递循环次数和函数
#include <iostream>
#include <sys/time.h>#include "No1_track_instances.h"
#include "test.h"int main() {
//    TRACK_INSTANCES::Trace::traceIsActive = false;//关闭跟踪TEST::performance_test(15,TEST::addOne);return 0;
}

 参考链接

  • Linux下高精度时间 - osc_5j1r0pvy的个人空间 - OSCHINA - 中文开源技术交流社区
  • C++11计算时间差_土豆吞噬者的博客-CSDN博客_c++计算时间差
  • 【Linux】shell: 获取时间间隔到毫秒、微秒级别_linranguo的博客-CSDN博客
  • c++ c 时间戳获取 秒级 微秒级 纳秒级别_彩云的笔记的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/445868.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python中fetchall_Python连接MySQL并使用fetchall()方法过滤特殊字符

来一个简单的例子&#xff0c;看Python如何操作数据库&#xff0c;相比Java的JDBC来说&#xff0c;确实非常简单&#xff0c;省去了很多复杂的重复工作&#xff0c;只关心数据的获取与操作。准备工作需要有相应的环境和模块&#xff1a;Ubuntu 14.04 64bitPython 2.7.6MySQLdb注…

《Java8实战》笔记(16):结论以及Java的未来

结论以及Java的未来 回顾Java8的语言特性 行为参数化&#xff08;Lambda以及方法引用&#xff09; 流 CompletableFuture Optional 默认方法 Java的未来 集合 类型系统的改进 声明位置变量 更多的类型推断 模式匹配 更加丰富的泛型形式 具化泛型 泛型中特别为函…

解决吉大正源(身份认证网关|USBKey)和gmssl(server|client)使用gmtl协议交叉互通报错tlsv1 alert decrypt error

报错内容 SSL_connect:error in SSLv3/TLS write finished140057291788288:error:1409441B:SSL routines:ssl3_read_bytes:tlsv1 alert decrypt error:ssl/record/rec_layer_s3.c:1385:SSL alert number 51 报错原因 gmssl库生成 certificate verify 消息时&#xff0c;对自客…

12无法使用otg_12个冷知识:或许只能看看而无法使用,但却真实存在着

12个或许只能看看而无法使用&#xff0c;但却真实存在着。脸红一所有已知动物中&#xff0c;唯一可以脸红的是人类。二有些地区将雨水归类为公共财物&#xff0c;作为公共财物是不允许收集的&#xff0c;违反者将面临处罚。三世界上汽车研发成本最高的一款车是福特蒙迪欧&#…

《Java8实战》笔记汇总

《Java8实战》笔记&#xff08;01&#xff09;&#xff1a;为什么要关心Java8 《Java8实战》笔记&#xff08;02&#xff09;&#xff1a;通过行为参数传递代码 《Java8实战》笔记&#xff08;03&#xff09;&#xff1a;Lambda表达式 《Java8实战》笔记&#xff08;04&…

三目运算符_C语言知识点:运算符的优先级和结合性

运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C语言内置了丰富的运算符&#xff0c;大体可分为10类&#xff1a;算术运算符、关系运算符、逻辑运算符、位操作运算符、赋值运算符、条件运算符、逗号运算符、指针运算符、求字节数运算符和特殊运算符。根据运算符可操作…

可以直接进行运算么_WORD办公技巧:如何直接在WORD中进行加法、乘法运算?

排版目标下图文档中有一张2020年&#xff11;&#xff0d;&#xff13;月口罩购买情况统计表&#xff0c;数据量并不大&#xff0c;我们想不动用excel表格进行统计&#xff0c;直接利用WORD自带的函数公式计算出表格内空白单元格的数值。其中&#xff0c;金额&#xff1d;单价&…

对dladdr未定义的引用

参考链接 c - 为什么我得到“对dladdr的未定义引用”&#xff0c;即使是这个简单程序的-ldl&#xff1f; | 码农俱乐部 - Golang中国 - Go语言中文社区 注意事项 dladdr需要与-ldl链接&#xff0c;且-ldl放置在链接的最后 CMakeLists.txt 模板 cmake_minimum_required(VERSI…

如何优雅互换Map键与值

一般方法 //map must be a bijection in order for this to work properly public static <K,V> HashMap<V,K> reverse(Map<K,V> map) {HashMap<V,K> rev new HashMap<V, K>();for(Map.Entry<K,V> entry : map.entrySet())rev.put(entry…

python程序设计题怎么写_《Python语言程序设计基础》第1章程序练习题

本文为中国大学MOOC《Python语言程序设计》课程学习笔记&#xff0c;课程主讲&#xff1a;嵩天老师&#xff0c;练习平台&#xff1a;Python123&#xff0c;参考教材&#xff1a;《Python语言程序设计基础》1.1 字符串拼接Str1 input("请输入一个人的名字&#xff1a;&qu…

《剑指Offer》36:二叉搜索树与双向链表

题目 输入一棵二叉搜索树&#xff0c;将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的节点&#xff0c;只能调整树中节点指针的指向。比如&#xff0c;输入下图中的二叉搜索树&#xff0c;输出转换之后的排序双向链表。 二叉树节点的定义如下&#xff1a; pub…

窗口位置按钮取消_VBA002:“宏”的保存位置有哪几种方式?

商务合作请加微信 | Allen_Lyq文章投稿 | jiangjunpeng1996126.com微信公众号 | Word和Excel达人先生头条号 | 跟小小筱学办公技能通过上一篇文章的学习&#xff0c;我们已经知道宏的基本用法&#xff0c;在录制宏的过程中&#xff0c;还有几个点需要我们注意下&#xff1a;宏命…

《剑指Offer》60:n个骰子的点数

题目 把n个骰子扔在地上&#xff0c;所有骰子朝上一面的点数之和为S。输入n&#xff0c;打印出S的所有可能的值出现的概率。 分析 直接法 假设骰子有face面&#xff0c;有n个骰子&#xff0c;那么总排列数就有faceⁿ个。&#xff08;例如&#xff0c;有3个6面骰子&#xff…

fastjson解析多层数据_怎么解析三层List json数据

注意这个json格式不对前后的 [ ] 应该要去掉。 (我不是说你缺少的结束符)FastJSON 随意解决的事情。0, compile com.alibaba:fastjson:1.2.71&#xff0c;去这个网站 http://www.jsonschema2pojo.org/粘贴你的json字符串1.1 Source type:JSON1.2 Annotation style:NONE1.3 所有…

《剑指Offer》37:序列化二叉树

题目 请实现两个函数&#xff0c;分别用来序列化和反序列化二叉树。 分析 我们清楚可以通过前序遍历序列和中序遍历序列创造出一棵二叉树。因此&#xff0c;我们可以先把一棵二叉树序列化成一个前序遍历序列和一个中序遍历序列&#xff0c;然后在反序列化时通过这两种序列还…

c linux 判断ip合法_shell 检测ip的合法性与检测网络掩码的合法性

有时我们需要检测IP输入的正确性与网络掩码的正确性&#xff0c;用shell脚本写的&#xff1a;#验证ip地址的正确性check_ip_format(){echo $1 | grep "^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}$" > /dev/nullif [ $? 1 ]; thenreturn 1elseaec…

《剑指Offer》38:字符串的排列

题目 输入一个字符串&#xff0c;打印该字符中字符的所有排列。 例如&#xff0c;输入字符串abc&#xff0c;则打印出由字符a、b、c所能排列出来的所有字符串有abc、acb、bac、bca、cab、cba 分析 把一个字符串看成由两部分组成&#xff1a;第一部分是它的第一个字符&#…

含有js的英文单词_JavaScript 常用单词整理

JS单词push :添加一个数组元素document &#xff1a;文档pop &#xff1a;删除最后一个数组元素console &#xff1a;控制台shift &#xff1a;删除第一个数组元素string &#xff1a;字符串Concat 组合数组undefined &#xff1a;未定义typeof &#xff1a;关键字join&#xf…

《剑指Offer》23:链表中环的入口节点

题目 若一个链表中包含环&#xff0c;如何找出的入口结点&#xff1f;如下图链表中&#xff0c;环的入口节点的节点3。 分析 一快&#xff08;移两节点&#xff09;一慢&#xff08;移一节点&#xff09;两指针判断链表是否存在环。算出环有几个节点&#xff08;上一步的两指…

mysql数据库上机题_MYSQL数据库练习题操作(select)大全

1、 查询Student表中的所有记录的Sname、Ssex和Class列。select sname,ssex,class fromstudent;2、查询教师所有的单位即不重复的Depart列。select distinct depart fromteacher;3、 查询Student表的所有记录。select * fromstudent;4、 查询Score表中成绩在60到80之间的所有记…