- 博客(47)
- 资源 (2)
- 收藏
- 关注
原创 子类重写基类槽函数,覆盖基类
父类的槽函数通常有一些通用操作,但是如果需要定制自己的槽函数行为,可以将父类槽函数声明为虚函数,子类重写虚函数即可。信号与槽函数的连接,依然放在父类构造函数中即可,子类不需要关注对应的信号。
2024-05-07 18:43:56
170
原创 父类this指针与子类this指针
此时父类构造函数的this指的是子类对象,而不是父类对象。也就是说如果存在继承关系的话父类中的this和子类中的this都是子类对象的指针。另外引出一个问题父类与子类中的同名函数(非虚函数),此时与this情况不同,父类中默认调用的是父类中方法,子类中默认调用子类方法。父类时,子类初始化自己的对象,
2024-05-07 15:22:05
333
原创 面试总结-c++
4.对于debug的方法,比如多线程问题,线程同步方法。程序崩溃问题,指针越界问题,以及debug的工具。比如 c++组长,确有其事,但是挺唬人。3.对于自己工作经历中有成就感的事,或者解决过的比较难的问题,比如算法、优化架构、查找bug。9.进阶的话可能是项目负责人,需要需求分析,开发模式-敏捷开发,设计模式,架构设计。在自己能说出个所以然的情况下,该吹就吹,不吹没工作,吹了有希望。2.对自己做过的项目了如指掌,并能说出其优点或核心算法,大致框架。6.几乎必问问题,多线程同步,虚析构问题。
2023-08-05 10:07:53
712
原创 c++奇技-关键字
则pi的类型将会是double,他参与计算的表达式也将默认变为double类型,在cuda中会严重影响性能,至少你可能是希望32位浮点下的计算,一不小心变双精度浮点了。当对指针增加 __restrict 修饰之后,表示当前指针在存活期间是独占内存的,不会有其他指针指向这个地址。编译器在知道这个信息之后,就可以做出优化,从而提升性能。4 #program unroll 强制for循环展开,一般应用于判断语句比较简单,且执行次数编译期就可知的情况,比如下面。内联函数,在调用处直接将函数体替换,少一次函数调用。
2023-06-13 17:54:23
527
原创 反向传播时sigmoid函数的梯度计算实现
那就直接用dout直接与本层的导数相乘,就得到了,损失函数对本层的正向输入时x的导数,同时也就是反向传播时下层的输入。
2023-03-11 20:13:43
916
1
转载 __stdcall和__cdecl是什么意思,有什么不同
参考资料:__stdcall和__cdecl两者的区别 - 服务器 - C++博客 (cppblog.com)_stdcall与_cdecl区别_永远即等待的专栏-优快云博客_cdecl和stdcall的区别1.几乎我们写的每一个WINDOWS API函数都是__stdcall类型的,首先,需要了解两者之间的区别: WINDOWS的函数调用时需要用到栈(STACK,一种先入后出的存储结构)。当函数调用完成后,栈需要清除,这里就是问题的关键,如何清除??如果我们的函数...
2022-02-17 11:13:44
829
转载 Sphinx匹配模式详解
转发自(侵删):Sphinx匹配模式详解_cbhjerry的博客-优快云博客_sphinx 模式SphinxClient::setMatchModehttps://blog.youkuaiyun.com/cbhjerry/article/details/71440351SphinxClient::setMatchModeConstant DescriptionSPH_MATCH_ALL 匹配所有查询词(默认模式).SPH_MATCH_ANY 匹配查询词中的任意一个.SPH_MATCH_P...
2022-01-07 10:40:53
493
原创 tesseract-ocr 整体处理流程
一、通过边缘检测的方式识别出多个block二、通过多个block的信息,找出baseline,中文中的baseline 就是中文文本的最下沿。三、通过ba
2021-05-28 17:44:05
712
转载 oracle链接字符串生成
转自:https://blog.youkuaiyun.com/ccj2326051096/article/details/819383141.新建文本文件,修改后缀名为".udl"2.双击文件3.点击提供程序根据目录选择你需要的。在这里因为我是MFC的程序,利用微软的OLE方式访问Oracle数据库,因此选择了如上图所示。4.点击链接,填写数据源,和访问数据库的用户名和密码,点击测试连接,若提示链接成功,则点击确定,按照文本方式打开此文件,即可看见链接字符串。...
2021-01-13 12:53:34
601
转载 自己如何正确获取MYSQL的ADO连接字符串
转自:https://www.cnblogs.com/hushaojun/p/5205649.html自己如何正确获取MYSQL的ADO连接字符串1.下载安装MYSQL的ODBC数据库驱动程序(mysql-connector-odbc-5.3.4-win32.msi或者mysql-connector-odbc-5.3.4-winx64.msi)下载地址:http://dev.mysql.com/downloads/connector/odbc/2.在桌面上新建一个空的文本文件mysql.t.
2021-01-13 11:52:37
232
原创 用c++以ado方式 远程访问ORACLE数据库
第一次用oracle,很多理解可能存在错误。ado的具体使用方式就不详细说了,链接oracle的链接串为:Provider = OraOLEDB.Oracle; User ID = 用户名; Password = 密码; Persist Security Info = True; Data Source = (DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = ip)(PORT = 1521)) )(CONNECT_DATA =
2020-12-29 18:02:37
2263
转载 linux 命令行及其英文原意
作者:书生意气链接:https://www.zhihu.com/question/49073893/answer/115308159来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。apt | Advanced Packaging Tool | 是Debian Linux发行版中的APT软件包管理工具。一般配合apt-get或者apt-updateawk | Aho Weiberger and Kernighan | Alfred Aho,Peter Weinbe.
2020-11-19 11:25:30
352
原创 全局变量内存莫名被破坏的解决之路
c++中全局变量是先于main函数初始化的而且全局变量的初始化顺序未知,由于这个特点的的原因。全局变量内存别破坏的问题比较难以查找,首先内存被破坏 大部分情况是因为别的变量且这个变量含有指针,出现了内存越界,覆盖了后面变量内存空间,从而使后面的变量被破坏。顺着这个思路我就开始了bug定位之路。1查看别破坏的全局变量地址对应的内存,发现此变量初始化后是正常值,但是运行到main函数的开头时发现他...
2020-02-27 22:57:07
2065
1
原创 进入动态链接库函数后,传入指针改变的bug
出现这个问题的原因是导出函数的实际返回值类型和GetProcAddress获得函数指针时定义的函数指针的函数返回值类型不一致导致。如:导出函数为extern "C" bool LICENSE_CLASS _stdcall isLicensed(char* licensefile);使用时却为typedef string(*func_isLicensed)(char* );HAN...
2019-08-29 17:59:17
941
1
原创 查看程序所依赖的dll
dependency.exe是微软出的一款查看可执行程序依赖项的工具,但是微软已经不再更新它,强行使用它会有一些坑。微软系统将api做了重新分组包装,比如 CreateFileW,最开始就是实现在 kernel32.dll 这个 dll 中的,现在系统只是在内部绕了几个弯子,kernel32.dll 里的 CreateFileW 没有实现了,而是又转到了 api-ms-win-core-fil...
2019-08-29 17:49:32
2004
原创 windows容器实践之路
1.dockerfile使用dockerfile构建镜像的命令为:docker build -t image:v1 -f df .-t image:v1 表示新建的镜像名字为image标签为v1-f df 构建镜像的脚本命令 在名为df的文件中. 此点表示当前目录,用来指定上下文路径,docker build 命令构建镜像,其实并非在本地构建,而是在服务端,也就是 Docker ...
2019-08-08 10:45:28
1066
原创 面向对象的设计原则和设计模式
面向对象编程的优点及目的:可复用,可扩展,可维护,灵活性好。面向对象编程的核心思想:对于变化(或不确定的)的部分,要构造抽象来隔离变化,达到解耦合的效果。接口,多态都是抽象的手段。面向对象编程的七个基本原则:单一职责原则、开放-封闭原则、依赖倒转原则、里氏代换原则、最少知识原则、接口隔离原则、合成复用原则。单一职责原则:如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责。...
2019-02-19 15:08:19
1988
原创 右值引用和std::move 以及std::forward(完美转发)
左值与右值左值是这样一种表达式,它指向一块物理内存,并允许我们通过运算符&来取得这块内存的地址,而右值则是非左值的表达式。常量和匿名的临时变量都为右值,如函数返回值。比如:int a=0; //a为左值 string s="ss";//s为左值,"ss"为右值 string ss=string("e");//ss为左值,string("e...
2019-01-18 16:02:57
551
原创 effective STL 需要关注的条款和细节
1、拷贝对象是STL的方式(条款3)容器操作处处有拷贝,比如 vector 的push_back(),但STL容器通常设计为避免不必要的对象拷贝。一个使拷贝更高效、正确而且对分割问题免疫的简单的方式是建立指针的容器而不是对象的容器。当然容器存指针需要额外的注意。2、用empty()来代替检查size()是否为0(条款4)对于所有的标准容器,empty()是一个常数时间的操作,但对于一些...
2018-11-05 15:48:09
211
转载 bat批处理命令详解
出处:https://www.jb51.net/article/5828.htmBAT文件语法和技巧(bat文件的编写及使用)(转载一) 比较有用的东比较有用的东西 首先,批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具...
2018-09-20 10:41:17
13371
原创 系统集成或调试程序时查找问题的基本方法
1.二分法这是最合理最高效的查找工程问题方法论。用二分法确定问题边界能最快的找到问题根源。二分法是一种宏观视角能有条理、步步为营的找到问题根源,而且通用性强。遇到问题切勿一头雾水、各种试,这种毫无头绪的查找方法往往把人带入死胡同,舍本逐末。...
2018-08-24 10:32:14
593
原创 vs2015 中的数据断点
调试时经常需要打断点来调试程序,vs中的断点有普通断点,条件断点,数据断点和函数断点。这里只介绍数据断点数据断点能有效的检测对象数据的变化。当一个复杂程序(或者多线程中)有很多地方都可能改变某一个对象的值,如果一个对象被莫名更改而不知道是哪里对其做了修改,那么数据断点就派上用场了。数据断点创建后当程序修改此对象时程序就会中断运行,方便开发人员找到修改对象的代码位置。设置数据断点在含有此...
2018-08-24 10:22:16
2908
原创 符号文件(.pdb文件)与常见配置问题
.pdb文件为vs平台下c++原文件对应的符号文件,调试时是必不可少的文件。如果希望在release下能够调试,需要配置两处1.project-> properties->C/C++->General->debug infomation format设置为/Zi2.project-> properties->linker->debugging-...
2018-08-24 10:04:45
660
原创 解决!加入中文注释后 编译不能通过 总是报{}不匹配的错误。
原因:加入中文注释后不能正确匹配的原因是cpp文件的编码已经更改(可能用notepad++等工具修改过)所以写入中文后vs不能正确解析中文而报错。解决:用vs打开此文件 选择 文件->高级保存->编码格式选择GB2312 codepage936 点击保存就好了。...
2018-07-26 17:50:27
5383
1
原创 信息量与信息熵
信息量信息奠基人香农(Shannon)认为“信息是用来消除随机不确定性的东西”。也就是说衡量信息量大小就看这个信息消除不确定性的程度。“太阳从东方升起了”这条信息没有减少不确定性。因为太阳肯定从东面升起。这是句废话,信息量为0。“吐鲁番下中雨了”(吐鲁番年平均降水量日仅6天)这条信息比较有价值,为什么呢,因为按统计来看吐鲁番明天不下雨的概率为98%(1-6/300),对于吐鲁番下不下雨这件事,首先...
2018-05-08 17:04:46
32796
9
转载 c++ 内存泄漏查找
转载自:https://blog.youkuaiyun.com/mfcing/article/details/42673393 侵删1、什么是内存泄漏?内存泄漏指的是在程序里动态申请的内存在使用完后,没有进行释放,导致这部分内存没有被系统回收,久而久之,可能导致程序内存不断增大,系统内存不足……引发一系列灾难性后果;(关于程序申请内存分配方式,详见:内存分配方式)2、零容忍排除内存泄漏对于程序的稳健型特别...
2018-04-25 17:48:45
11917
原创 机器学习的基石——概率论和贝叶斯定理
1、联合概率分布联合概率分布简称联合分布,是两个及以上随机变量组成的随机变量的概率分布。对于二维离散随机向量,设X和Y都是离散型随机变量, 和 分别是X和Y的一切可能的几何,则X和Y的联合概率分布可以表示为如下图的列联表,也可以表示为如下的函数形式其中2、边缘概率分布边缘分布(Marginal Distribution)指在概率论和统计学的多维随机变量中,只包含其中部分变量的概率分布。假设有一...
2018-04-02 22:39:48
1668
1
转载 setlocale函数
转自:http://zyxhome.org/wp/cc-prog-lang/c-stdlib-setlocale-usage-note/ #include <locale.h>char* setlocale(int category, const char* locale);说明:category:为locale分类,表达一种locale的领域方面,通常有下面这些预定义常量:LC_AL...
2018-04-02 20:45:16
8655
原创 window下 c++访问mongodb之安装驱动
windows下c++若想访问mongodb需要安装官方驱动。我按照官网的提示做了这个教程。废话不说直接开始。步骤1:安装cmake没错是的,你没看错,官网说了安装所有语言(c++,java,python等)的mongodb驱动之前必须先安装c语言驱动,而c语言驱动官方提供的是源码,源码需要cmake去编译,但是我机器上有没有cmake工具所以第一步就是安装cmake。cmake下载地址:
2017-12-07 14:04:40
1595
1
原创 cypher实践之match后面的逗号要注意。
match是最常用的关键字了看一个简单的例子:match (n:mechword{name:'生物工程'})--(m:mechword)with n,m match p=(n)-[r*..]-(m) return m;m返回一个名字叫“一般问题”的节点。如果改变下cypher语句:match (n:mechword{name:'生物工程'})--(m:mechword), p=
2017-11-10 17:48:02
1067
原创 noe4j之cypher之where
WHERE where 关键字的用法在官方文档中描述为 与match 、optional match 联合使用,作用是添加约束;如果和with联合使用,用来过滤结果。其实意思差不太多,就是对返回结果设置了限定条件。where中可以加一些布尔运算符 入 and ,or, not ,xor。大多数情况下where用于节点或关系的属性判断 关于属性值的相关运算种类比较多 比如 n.age
2017-09-29 16:51:19
1764
转载 编码相关的问题
看到的这篇文章真是够详细的,没看完,太多了,先转载过来,供大家分享。转载地址:http://my.oschina.net/alphajay/blog/5691*****************************************************************************************************************
2017-08-03 15:16:16
1420
转载 关于编码的一些知识
原文出处:http://www.cnblogs.com/qzhforthelife/p/3228933.htmlC++之编码问题(Unicode,ASCII,本地默认)本篇文章试图回答的问题:1、char* pStr="我aa";这句代码执行后,pStr指向的内存区域中存储的字节到底是根据什么码表而来的呢?该字符串占几个字节?2、将一个VS2010的Windows程序设
2017-08-03 11:04:05
979
哈工大信息检索研究中心同义词词林扩展版及说明
2017-09-21
Linux就该这么学v1.02
2017-09-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人