- 博客(17)
- 收藏
- 关注
原创 哈希表的定义
哈希表也叫散列表,它是一种可以根据关键字直接进行访问的数据结构。哈希表通过某种关系把关键字映射到表中一个位置,这样存储位置与关键字之间有一个对应的关系f,使得每个关键字key对应一个存储位置f(key)。这样在查找时,根据给定的关键字key,通过f(key)这一对应关系可快速确定包含key的记录在存储空间中的位置。这个映射的函数f叫作哈希函数,又称为散列函数,按这个思路存储记录的连续空间称为散列表或哈希表。关键字对应的存储地址称为哈希地址或散列地址。哈希表在存储时,以数据中每个元素的关键字key为.
2022-02-18 11:02:23
1042
原创 C++移动语义
右值引用是C++11标准引入的特性,右值引用至少可以解决以下两个问题:1、实现移动语义(move semantics)2、完美转发(Perfect forwarding)讲上面两个问题之前,先介绍一些相关的基础概念:1)什么是左值和右值左值:是一个可以用来储存数据的变量,有实际的内存地址,表达式结束以后依然存在。右值(非左值):是一个“匿名”的“临时变量,在表达式结束时生命周期终止。我们见到的所有具名变量是左值,而匿名变量是右值。左值可以出现在赋值符号的左边或右边,右值只能.
2020-12-10 11:16:45
829
原创 图像插值
1、最近邻插值1)原理最简单的插值方式,目标图像上(des_x,des_ y)处的像素值等于( (des_x, des_y)对应到源图像坐标为(src_x, xrc_y) ):距离(src_x, xrc_y)最近坐标点的像素值。2)源码tensorflow实现最近邻的源码如下:template <typename T, bool half_pixel_centers, bool align_corners>struct ResizeNearestNeighbor<..
2020-09-09 11:30:31
783
原创 make install 安装动态库、静态库以及头文件到系统/usr/local/include /usr/locla/lib后,cmake编译可执行文件,提示找不到动态库
运行ldconfig 命令 更新 /etc/ld.so.cache便可以解决问题
2020-08-26 17:51:21
1063
原创 使用Pybind11把C++代码编译成动态库so,支持Python的调用
基于ubuntu 16.04系统,使用python3调用c++生成的动态链接库1. pybind11的两种方式:1)使用pip安装pip install pybind11 -i https://pypi.tuna.tsinghua.edu.cn/simple/2)源码编译(推荐这种,方便后续CmakeLists.txt中使用find_package(pybind11 REQUIRED))pip install pytest -i https://pypi.tuna.tsinghua.
2020-08-25 10:21:38
4869
原创 Cmake编译报错:if given arguments: “11“ “IN_LIST“ “supported_standards“ Unknown arguments specified
cmake .. 编译报出if given arguments: "11" "IN_LIST" "supported_standards" Unknown arguments specified1、这个错误的主要原因是:CMakeLists.txt里cmake_minimum_required指定的cmake版本过低造成的2、解决办法是:把cmake_minimum_required修改成当前系统安装的cmake版本号就可以了...
2020-08-25 10:07:11
4735
1
原创 Python:给函数定义属性
"""1、在python中,一切都是对象,所以可以为函数定义属性2、可以使用__dict__返回对象的属性"""def func(): print("-----func-----")# 函数对象定义属性func.val = 1func()print(func.__dict__)print(func.val)"""-----func-----{'val': 1}1"""...
2020-08-20 11:44:37
512
原创 派生类继承自抽象基类时,遇到未定义的引用
在定义抽象的基类接口的时候,对于声明的构造函数和析构函数以及其他普通函数也一定要初始化,对于抽象类而言,唯一不需要初始化的就是纯虚函数。对于抽象类而言,如果不对声明的析构函数和构造函数进行函数定义,那么编译的时候会报“未定义的引用”...
2020-08-07 16:36:58
631
原创 glog安装步骤(ubuntu):
1、安装autoreconfsudo apt install autoconf automake libtool2、下载glog源文件:git clone https://github.com/google/glog.git3、根据https://github.com/google/glog底部的安装步骤安装glog:./autogen.sh./configuremake sudo make install...
2020-07-17 14:50:10
3031
4
转载 field ‘XXXXX’ has incomplete type
类或结构体的前向声明只能用来定义指针对象或引用,因为编译到这里时还没有发现定义,不知道该类或者结构的内部成员,没有办法具体的构造一个对象,所以会报错。将类成员改成指针就好了。 程序中使用incomplete type实现前置声明有助与实现数据的隐藏。要求调用对象的程序段只能使用声明对象的引用或者指针。在显式声明异常规范的时候不能使用incomplete type。...
2020-07-15 17:41:32
516
原创 编译生成的库被可执行程序链接时报错:vtable for 类名’未定义的引用
其中的一个原因可能是:定义的类派生自基类(基类是一个纯虚函数的抽象类),派生类在头文件中重写基类的成员函数后,在源文件中定义这个成员函数时,忘记在函数成员前面使用“类名::成员函数名”。比如:// 正确的ErrorCode AsianScripts::LanguageInit(){// 错误的//ErrorCode LanguageInit(){ return kSucessCode; };...
2020-07-08 09:34:17
675
1
原创 c++:STL作为类的静态成员变量要注意的点
STL做类的静态成员变量时,必须使用常量初始化,无法使用insert等方法进行初始化。例如:std::set<int> a = {1, 23};class AsianLanguagesType{public: static std::set<int> asian_languages_type_set_; // Forbidden use AsianLanguagesType()=delete; AsianLanguagesType(const Asi
2020-07-06 16:47:49
726
转载 拷贝构造函数和赋值构造函数声明为私有的作用
转载:http://blog.csdn.net/rabbit729/article/details/4000500每个类只有一个赋值函数. 由于并非所有的对象都会使用拷贝构造函数和赋值函数,程序员可能对这两个函数有些轻视。请先记住以下的警告,在阅读正文时就会多心: 1.如果不主动编写拷贝构造函数和赋值函数,编译器将以“位拷贝”的方式自动生成缺省的函数。倘若类中含有指针变量,那么这两个缺省的函数就隐含了错误。以类String的两个对象a,b为例,假设a.m_data的内容为“hello”,b.
2020-07-06 16:03:33
421
原创 git push的时候每次都要输入用户名和密码的问题
刚开始用git push 发现每次push的时候都需要输入账号和密码,怎么能够一劳永逸呢?解决步骤如下:1、查看使用的传输协议git remote -v2、重新设置ssh的方式git remote rm origingit remote add origin git@github.com:用户名/仓库名.gitgit push -u origin master通过以上两个步骤就可以解决问题。...
2020-07-01 14:07:20
252
原创 gtest里面的断言EXPECT_EQ和ASSERT_EQ的区别
tips:主要用于记录工作中遇到的问题及解决方案最近刚开始使用gtest,对里面的断言EXPECT_EQ和ASSERT_EQ的区别有疑惑,故记录下来,以备后续查看TEST(Binary, test){ std::string strPath = "./"; OCROutputItem ocrOutputItem; IOcrPostAlg* p_ocr_post_alg = CreateIOcrPostAlg(); EXPECT_EQ(true, IsCreateSuc.
2020-07-01 11:45:44
26557
原创 多线程是可以同时读取同一个内存数据的
记录一下:多线程如果只是读取同一块内存区域的数据,没必要设置成同步线程,线程同步的目的是为了防止同一时间多个线程要修改数据,造成数据错误。所以:如果线程只是访问,完全没必要线程同步...
2020-03-13 11:13:28
4828
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人