详解C++STL—函数对象
1、函数对象1.1、函数对象概念概念:重载函数调用( )操作符的类,其对象常称为函数对象函数对象使用重载的( )时,行为类似函数调用,也叫仿函数本质:函数对象(仿函数)是一个类,不是一个函数1.2、函数对象的使用特点:函数对象在使用时,可以像普通函数那样调用, 可以有参数,可以有返回值函数对象超出普通函数的概念,函数对象可以有自己的状态函数对象可以作为参数传递示例://函数对象的特点class m
模拟实现不受限制的字符串函数--C语言版
C语言中提供了许多十分好用的库函数,一旦我们掌握了它们,我们使用C语言写代码就会变得更加得心应手。1.strlenstrlen函数就是计算字符串的长度的,它会一直读取到\0,它的返回值就是在字符串中'\0' 前面出现的字符个数(不包括\0)。 而了解strlen的实现原理也会让我们更好的理解代码//模拟实现strlen// 计算器版本//#include<stdio.h>
三种方法实现strlen函数
在我们使用C语言写代码时,我们常常会用到strlen函数,你是否好奇过strlen是如何实现的呢?接下来,我将会使用3种方法实现strlen函数。1.计数器法计数器法应该是最常见的strlen实现方法,其基本原理就是通过计数器计算循环的次数,从而实现计算字符串长度的作用//#include<stdio.h>//#include<assert.h>//int my_strle
socket阻塞与非阻塞,同步与异步、I/O模型
1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步: 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。例如普通B/S模式(同步):提交请求->
浅谈MVC架构—你到底有什么本事
一、什么是MVC 1、概念 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻
开发ActiveX控件的实践(1)--用VS2010开发一个简单的TestOcx控件
1. 点选VS2010 IDE 的 文件->新建->项目,在新建项目窗口中选择 MFC ActiveX 项目,输入项目名称 TestOcx:2. 点击确定,以后的设置选择默认,一路选择下一步直到完成,VS2010就自动生成了一个基本的控件,功能是画一个椭圆。3.在中右击 Dialog,在弹出的菜单中选 插入Dialog,为项目添加一个对话框。在右边的属性页中将ID项的值改为
C语言的判断机器的大小端
大小端介绍什么大端小端:**大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地址中。**1.2.为什么有大端和小端:为什么会有大小端模式之分呢?这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着 一个字节,一个字节为8bit。但是在C语言中除了8bit的ch
加速Pytorch数据读取--LMDB
背景#在深度学习的时候,如果你的batch size调的很大,或者你每次获取一个batch需要许多的预操作,那么pytorch的Dataloader获取一个batch就会花费较多的时间,那么训练的时候就会出现GPU等CPU的情况,训练的效率就会下降。为了应对这种情况,Tensorflow有TFrecord,但是Pytorch没有对应的数据格式,在查询各类资料之后,我决定使用LMDB这个数据库LMD
二维数组与稀疏数组的互转
二维数组与稀疏数组的互转转换思路二维数组转稀疏数组的思路:遍历原始的二维数组,得到有效数据的个数sum,根据sum就可以创建稀疏数组sparseArr int[sum+1][3]将二维数组的有效数据存入到稀疏数组稀疏数组转原始的二维数组的思路:先读取稀疏数组的第一行,根据第一行的数据,创建原始的二维数组,比如上面的chessArr2=int[11][11]再读取稀疏数组后几行的数据,并赋给原始的二
面向对象及方法的调用
面向对象面向对象编程的本质是:以类的方式组织代码,以对象的组织封装数据三大特性:封装继承多肽从认识角度考虑是先有对象后有类,从代码的角度考虑是先有类后有对象,类是对象的模板方法的调用同一个包中的类可以直接使用,直接用类名点调用其中的方法调用本类中的静态方法可以直接用方法名就可以例如:public static void main(String[] args){ a(); } public
方法重载与可变参数与递归
方法重载与可变参数与递归举例说明://方法有修饰符,返回值类型,方法名,参数类型,参数名public static int name(int a,int b){//这里是形参,主方法内调用并给真实传递的才是实参 //方法体 return a+b;}有返回值类型的,一般会被main方法调用去返回一个值,返回值类型为空的,方法一定是一条语句有返回值参
Java流程控制与Scanner类的使用
ava流程控制与Scanner类的使用Scanner类Scanner类可以使程序接受键盘输入,实现人机交互一个完整的Scanner的使用例子://创建一个扫描器对象,用于接收键盘数据 Scanner s=new Scanner(System.in); System.out.println("使用next方法接收:"); //判断用户有没有输入字符串if(s.hasNext())