论函数调用运算符,function类模版
一.函数调用运算符 一个函数 int func(int a){} func(5) 会发现无论里面有没有参数,都要用(),其实圆括号()就是函数调用的明显标记,()有一个称呼叫做函数调用运算符 如果在类中重载了函数调用运算符(),那么就可以像使用函数一样使用该类的对象了。对象(实参) 如何使用函数调用运算符呢? a)定义一个该类的对象 b)像函数一样使用该对象,也就是()中增...
一.函数调用运算符 一个函数 int func(int a){} func(5) 会发现无论里面有没有参数,都要用(),其实圆括号()就是函数调用的明显标记,()有一个称呼叫做函数调用运算符 如果在类中重载了函数调用运算符(),那么就可以像使用函数一样使用该类的对象了。对象(实参) 如何使用函数调用运算符呢? a)定义一个该类的对象 b)像函数一样使用该对象,也就是()中增...
一.什么是函数指针 首先用函数指针变量调用函数 一个函数,在编译的时候,系统会给这个函数分配一个入口地址,这个入口地址就称为函数的指针(地址),既然有地址,我们可以定义一个指针变量,指向该函数,然后通过该指针变量调用该函数 int max(int a, int b) { if(a < b) return b; return a; } int a ...
1.背景 自己写了个C++爬虫,但是刚开始打开exe后,提示“应用程序无法正常启动0xc00007b” 所以用Dependencies搜了下,发现缺少libcurl.dll,于是把libcurl.dll放在exe同目录下这个问题倒是解决了 但紧接着出现了“由于找不到libeay32.dll 无法继续执行代码”,搜了下是openssl的问题,又涉及到什么环境变量乱七八糟的,找了几个安装包...
C++语法我是真的弱,所以这一段再把基础知识学一学吧,因为本来要做项目的,但是总是被语法给难倒,果真这还是基础和内功 1.bind1st和bind2nd什么时候会用到 #include <iostream> #include <vector> #include <vector> #include <functional> #include ...
1.引出问题 函数对象说白了就是类似于C语言中的函数指针,看下面的代码 我们知道调用一个函数的话,可以用C代码来实现 int sum(int a, int b) { return a + b; } int ret = sum(2, 1); 当然也可以这样用C++来实现 像这个operator重载了两个参数,叫做二元,重载一个叫做一元 class Sum { publi...
首先在上节,我们讲了Json::Value的基本使用,又简单介绍了其他的类,这节我们讲讲上节遗留的问题,什么是序列化和反序列化 1.序列化和反序列化 序列化和反序列化是两个相对的概念。序列化指的是将数据结构或对象转换为一种格式,以便在网络上传输或存储到文件中。反序列化则指的是将序列化后的数据重新转换为原来的数据结构或对象。 你可以把序列化和反序列化想象成打包和拆包的过程。比如,当你要搬...
首先在上节,我们讲了在什么情况下会用到jsoncpp,对它的使用场景有了初步的认识,这节我们先不谈怎么安装和配置环境,而是先聊聊它的简单语法,让你知道它大概是如何使用的,引申出它的类 1.Json::Value Json::Value是jsoncpp中最常见到的,它是一个用于表示JSON值的类,它可以表示各种类型的 JSON 值,包括对象、数组、字符串、数字、布尔值和空值。Json::V...
1.前言 现在技术教程都太古板和僵硬,由于本人理解力不高,很难理解官方教程,所以就想有没有一个可以和生活联系起来的趣味方法,来帮助我理解,这也就是写一文读不懂系列的初衷。 恰逢自己初入职场一周年,输出干货类文章,也是对自己的交代。 我一直坚信,学一项技术首先知道为什么会有它的存在,它的存在是有什么意义吗?文绉绉的官方术语我听不懂,只想知道在生活中有什么用。 2.从获取天气开始 假设...
互斥锁 使用条件变量的 wait 函数来等待特定条件 #include <iostream> #include <mutex> #include <condition_variable> #include <thread> std::mutex mtx; std::condition_variable cv; bool ready = f...
1.引言 自己在工作中,发现在一个项目是生成dll的,其中包含很多个头文件和cpp,但是其中一个头文件Test.h里面有一行代码是 bool DLL_EXPORT MyFunction(int a); 但是却没有Test.cpp来实现这个函数的定义 那就奇怪了,有了函数声明,但没有定义 2.我的思路 我的第一个思路是既然头文件是Test.h,那按照自己之前生成dll的方式,它生成...