- 博客(185)
- 资源 (2)
- 收藏
- 关注
原创 u know nothing
越是急功近利的时候越要静下心来啊告诉自己面对神秘莫测高山仰止波澜壮阔的C++后台开发你真的是啥都不知道啊怀着一颗学徒的心stay hungrystay foolish从第一章开始静下心来慢慢得学习
2020-07-05 13:20:00 310
原创 IC卡和RFID卡的区别
IC卡如从字义上面理解,是包括了除ID卡外的其它RFID电子标签和接触式的芯片卡,不过一般说IC卡主要是指工作于13.56MHz频段的非接触式智能卡和接触式智能卡,而非接触式智能卡也就包括了NFC卡片或标签(NFC论坛规定有四种卡片类型属于NFC卡片),接触式智能卡也就是带个裸露芯片的智能卡。简而言之,IC卡的原理即RFID,而RFID卡的范围更广,包括有ID卡、IC卡和NFC卡以及其它等电子卡/标签。ID卡是早期的非接触式电子标签,工作频段在125kHz只有一个ID号,不可以存储任何数据,故叫ID卡。
2024-04-10 14:23:26 794
原创 c++的存储类型和extern声明详解
首先,声明和定义有啥区别。这里我们将普通数据变量和函数统称变量。从内存分配角度来说,声明和定义的区别在于声明一个变量不会分配内存,而定义一个变量会分配内存。一个变量可以被声明多次,但是只能被定义一次。这就是单定义规则(One Definition Rule,ODR)。所谓的单定义规则是指变量只能有一次定。基于以上前提,我们可以把声明和定义类比为指针和内存的关系。
2024-02-07 10:54:31 932
原创 C++ const在成员函数前后的区别
函数将无法修改成员变量,下面的写法会报错。实际上在类的成员函数中,我们有许多情况不希望成员函数修改成员变量,在其后加上。类型是不行的,是因为这样就可以通过b来修改原来函数的返回值了,与用。——一个占据内存中某个可识别的位置(也就是一个地址)的对象。在函数前实际上是约束函数的返回的,表明。类型的变量接住函数的返回值,如果只用。但是一般的变量无法修改函数返回值,可以使得程序更加的严谨,健壮性更强。放在函数后通常是用在类中,限制。修饰的成员函数也不能调用其他非。
2023-06-25 10:47:57 372
原创 C++编程常见问题—error: passing ‘const std::map<>]‘ discards qualifiers
简单来说,map的[]运算符会在索引项不存在的时候自动创建一个对象,有可能会改变map本身,所以不能够用在一个const map上。用g++编译上面的代码,会报……discards qualifiers。另外,也可以使用at成员函数。...
2022-08-08 14:43:24 1026
原创 C++不可以返回局部变量的引用或指针
所谓的不可以返回局部变量的引用或指针,指的是不能返回局部变量的引用或地址给引用或指针。事实上还是看该地址的位置是否在该函数的栈区,若是在栈区,函数调用结束,该地址就被释放了。尽管会出现栈地址上的值没被销毁的问题,可能是该栈区还没被其他的函数堆栈掉。可以,函数在返回的时候,返回处产生一个临时对象,用于存放局部变量a的值的一份拷贝(变量a的右值的拷贝)不可以,尝试返回a的地址给引用变量,a是存在栈里的,函数结束调用栈被销毁。不可以,尝试返回a的地址给指针,a是存在栈里的,函数结束调用栈被销毁。...
2022-07-19 11:54:43 1416 1
原创 c++中临时变量不能作为非const的引用参数
所以,临时变量不能作为非const引用参数,不是因为他是常量,而是因为c++编译器的一个关于语义的限制。但如果你把一个临时变量当作非const引用参数传进来,由于临时变量的特殊性,程序员并不能操作临时变量,而且临时变量随时可能被释放掉,所以,一般说来,修改一个临时变量是毫无意义的,据此,c++编译器加入了临时变量不能作为非const引用的这个语义限制,意在限制这个非常规用法的潜在错误。很多人对此的解释是临时变量是常量,不允许赋值,改动,所以当作为非常量引用传递时,编译器就会报错。中,由于g定义的参数是。..
2022-07-18 16:08:35 447
原创 【C++】error: passing ‘const xxx’ as ‘this’ argument discards qualifiers
函数,因为其他函数有可能会修改该对象的成员,编译器为了避免该类事情发生,会认为。限定符的成员函数中,不能够调用非const成员函数。错误的原因就是,C++中。的意思就是缺少限定符。意思是说在一个加了。...
2022-07-18 15:58:36 8412 2
原创 leetcode杂记
回溯+剪枝的简易实现方式,比较典型的39.Combination Sum,在dfs的函数的for循环里面直接加上判断来实现剪枝,同时事先sort来去除重复,这道题目其实非常典型。 void DFS(int st, int num, int target, vector<int>& candidates){ if(num == target){ ans.push_back(path); return;
2020-06-22 20:28:33 192
原创 Unix-Linux编程实践教程——pipe
这个demo还是很有意思的,关于重定向和管道结合的很好,也很清晰的展示了进程之间通过管道去通信的原理。//// Created by Jimmy on 3/31/20.//#include <stdio.h>#include <unistd.h>#include <cstdlib>#define oops(m,x) {perror(m);exi...
2020-04-01 09:16:39 271
原创 Unix-Linux编程实践教程——shell(3)
相较前一个版本,主要是把main.cpp中的对命令直接执行换成了对命令进行处理,加了逻辑的判断。头文件controlflow.h//// Created by Jimmy on 3/25/20.//#ifndef WHO_CONTROLFLOW_H#define WHO_CONTROLFLOW_H#include <stdio.h>#include "smsh....
2020-03-25 15:45:45 213
原创 Unix-Linux编程实践教程——shell(2)
头文件smsh.h//// Created by Jimmy on 3/23/20.//#ifndef WHO_SMSH_H#define WHO_SMSH_H#include <stdio.h>#include <stdlib.h>#include <string.h>#include <signal.h>#include ...
2020-03-23 16:51:41 364
原创 Unix-Linux编程实践教程——shell(1)
//// Created by Jimmy on 3/19/20.//#include <stdio.h>#include <signal.h>#include <string.h>#include <stdlib.h>#include <zconf.h>#define MAXARGS 20#define ARGLEN...
2020-03-20 10:59:08 215
原创 Unix-Linux编程实践教程——pwd
//// Created by Eddie on 2020/3/16.//#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <dirent.h>#include <cstdlib>#include <cstring>#...
2020-03-16 21:47:29 199
原创 Unix-Linux编程实践教程——ls
//// Created by Eddie on 2020/3/15.//#include <stdio.h>#include <sys/types.h>#include <dirent.h>void do_ls(char[]);int main(int ac, char *av[]){ if(ac == 1) do_...
2020-03-15 22:09:33 227
原创 Unix-Linux编程实践教程——utmplib.c
//// Created by Eddie on 2020/3/14.//#include <stdio.h>#include <fcntl.h>#include <sys/types.h>#include <utmp.h>#include <zconf.h>#define NRECS 16#define NULLU...
2020-03-15 09:03:59 310
原创 Unix-Linux编程实践教程——cp
/*--version 1.0--*/#include <stdio.h>#include <unistd.h>#include <fcntl.h>#include <cstdlib>#define BUFFERSIZE 4096#define COPYMODE 0644void oops(const char *, const c...
2020-03-13 17:05:39 342
原创 Unix-Linux编程实践教程——who
/*--version 1.0--*/#include <stdio.h>#include <utmp.h>#include <fcntl.h>#include <unistd.h>#include <cstdlib>#define SHOWHOSTvoid show_info(utmp *);int main(){...
2020-03-12 20:25:14 181
原创 Unix-Linux编程实践教程——more
/*--version 1.0--*/#include <stdio.h>#include <cstdlib>#define PAGELEN 24#define LINELEN 512void do_more(FILE *);int see_more();int main(int ac, char * av[]){ FILE *fp; ...
2020-03-12 10:43:43 208
原创 如何吃透csapp
读薄/读厚csapp非常不错的博客既有对书本内容的理解也有对实验内容的剖析(当然我还没看先马 并且立个flag????必看完csapp看完奖励自己一趟旅行✈EOF...
2019-12-19 10:46:31 594 1
原创 C++学习之extern
本文参考文章,侵删C++学习之extern关键字extern关键字的用法extern关键字的用法extern 与头文件(*.h)的区别和联系在看cjson源码的时候碰到了extern,之前也碰到过,没有太注意,这次再仔细学了下。用途:可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义,这里起到的是声明作用范围的用处,...
2019-12-11 17:12:49 331
原创 std::bad_alloc说开去
今天跑代码的时候碰到了这样的一个问题terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc解决不了,谷歌后发现如下文章,可以解惑,写的非常的好。原文链接当然,我这里只是针对我这一会儿的情况。最近跑的一个C++程序,迭代时间长,而且一共有800个迭代,等了一天,跑到...
2019-11-28 19:17:22 10831
原创 我只取一瓢
首先首先首先要坚信明知道自己写的是一坨屎,你就是要吹得别人以为是黄金。目前打算就写starGAN了。没错。不要怂就是GAN。3.12之前预答辩报名,在这之前想一个装逼的题目。以及整个论文的框架。添加自己的测试集,选择展现效果比较好的属性,跑出结果。把论文的大致草稿打出来。...
2019-02-27 19:27:57 897
原创 开题报告
《基于TP-GAN的人脸图像特征增强》开题报告 ——21751049 郑嘉宇1.选题的目的与意义 人脸识别技术在公共安全领域(如身份认证和刑侦破案)发挥着重要的作用。然而,由于环境光线、系统性能和人为因素的影响,实际采集的图像往往存在着各类噪声、光照不均、分辨率低、姿态多样等质量问题,这对后续的身份识别和 认证算法带来巨大的挑战。现有的质量评价研究主要针对...
2018-11-09 00:35:17 4149
原创 毕设选题
基于MTCNN的人脸检测人脸检测方法有许多种,比如传统的opnecv自带的人脸Haar特征分类器和dlib人脸检测,其特点是简单快速;存在的问题是人脸检测效果欠佳,准确率和环境光线人脸角度等强相关。在测光逆光下几乎无法检测。MTCNN是基于深度学习的人脸检测方法,对自然环境中光线,角度和人脸表情变化更具有鲁棒性,人脸检测效果更好;同时,内存消耗不大,可以实现实时人脸检测。基于人脸姿态检测的...
2018-11-06 10:48:59 10373
原创 一些面试的准备
进程和线程的区别:首先进程和线程都是一个时间段的描述,是CPU工作时间段的描述。一般来说,进程是资源的分配单位,线程是CPU在进程内切换的单位,线程属于进程。进程更倾向于内存管理的概念,他在自己的区域掌控自己的资源,也不越界;线程更倾向于CPU的运行。当前的计算机的CPU总要跑在一个线程上,但是又无法做到同时跑在多个线程上。看似多线程可以同时运行,其实他们之间是通过时间片的切换来做到的。但是,上...
2018-10-10 18:25:09 230
原创 c++ primer 七章
类的基本思想是数据抽象和封装。数据抽象是一种依赖于接口和实现分离的编程和设计思想。封装是实现了类的接口和实现的分离。封装后的类隐藏了它的实现细节。也就是说,封装后的类隐藏了它的实现细节,也就是说,类的用户只能使用接口而无法访问实现部分。声明一个成员函数的时候用const关键字是用来说明这个函数是 “只读(read-only)”函数,也就是说明这个函数不会修改任何数据成员(object)。 为了...
2018-10-10 11:48:24 203
原创 c++ primer 三、四、五、六章
三四五三章声明也没有写,讲的是运算符循环语句啥的,感觉没有什么好记的。迭代器记得加取地址符*。对前面一些知识的小结。#include <iostream>#include <vector>using namespace std;const int maxn = 210;vector<int> a(10,0);int main(){ auto...
2018-09-30 12:10:33 236
原创 c++ primer 一、二章
引用并非对象,它只是一个为已经存在的对象所起的另外一个名字。定义了一个引用以后,对其所有的操作都是在与之绑定的对象上面进行的。引用必须初始化。int iva = 1024;int &refval = iva;refval = 2;//把2赋给refval指向的对象,此处既是赋给了iva像&和*这样的符号,既能够作为表达式里面的运算符,也可以作为声明的一部分出现。&...
2018-09-28 09:51:49 202
原创 PAT 1076.Forwards on Weibo
bfs的时候这种层数可能最好写在结构体里面。有一个样例超时了。暂时是懒得管了。#include &lt;cstdio&gt;#include &lt;algorithm&gt;#include &lt;iostream&gt;#include &lt;vector&gt;#include &lt;string.h&gt;
2018-09-25 12:11:08 196
原创 PAT 1034.Head of a Gang
这道题目一开始的看了《算法笔记》上面的代码,很诧异为啥用dfs去遍历一个cluster,并且还做了删除上一条边的操作。自己写了代码以后就想清楚了。因为这不是一个简单的遍历操作,你不能把访问过的节点标记了就不访问了。图里面会有环,可能两个访问过的节点中间也会有边,所以需要下面不同于寻常的bfs,加入了下面这段代码:for(int i=1;i<=numperson;i++) {...
2018-09-21 21:19:25 234
原创 PAT 1021.Deepest Root
这道题目好像发了第三次的博客了额题目大意:一个连通的并且无环的图可以认为是一棵树。给定一个图,要求输出能够让树的高度最大的节点的编号。如果这样的节点不唯一,从小到大输出;如果不存在,输出图的连通分量的个数。因为N可以达到104的数量级,所以用邻接矩阵的话会超内存。#include <cstdio>#include <algorithm>#include <i...
2018-09-19 16:09:12 532 2
原创 PAT 1013.Battle over cities
回家最好跑一遍#include <cstdio>#include <algorithm>#include <iostream>#include <vector>#include <string.h>using namespace std;const int maxn = 1011;int n,m,k;int vis[m...
2018-09-19 11:08:42 192
原创 PAT 1098.Insertion or Heap Sort
首先,关于建堆。建堆需要从下往上去调整,直观的说,这样才能保证最后根节点是比所有孩子节点要大的。堆排序,就是先建堆,把根节点取出来,作调整,循环往复。建堆的时候假设总的节点个数是n。从n/2开始调整就可以了,因为比这个节点小的节点是没有孩子节点的,没有调整的必要了。#include <cstdio>#include <algorithm>#include &l...
2018-09-18 16:55:07 265
原创 new和malloc的区别
我只是试一下这个东西malloc函数new运算符内存泄漏malloc函数malloc函数是c语言中stdlib.h头文件下面用于还说呢情动态内存的函数,其返回的类型是同变量类型的指针。基本用法以及以申请int型和node型结构体变量为例的例子如下:typename *p = (typename*)malloc(sizeof(typename));int* p = (int*)malloc...
2018-09-18 10:11:24 274
Computer Vision:Models,Learning and Inference
2018-04-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人