- 博客(10)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 c++中互斥锁实现读写锁
#include <bits/stdc++.h>using namespace std;class RWlock{public: RWlock(int state_):state(state_){} void rlock(){ unique_lock<mutex> lck(mtx); while(state<0){ cond.wait(lck); } state++;
2020-09-11 15:32:35 468
原创 c++ STL中迭代器删除元素
对于序列容器vector, deque来说,使用erase (itertor)后,后边的每个元素的迭代器都会失效,但是后边每个元素都会往前移动一个位置,当前的迭代器指针直接指向了下一个元素;。对于关联容器map set 来说,使用了erase(iterator)后,当前元素的迭代器失效,但是其结构是红黑树,删除当前元素的,不会影响到下一个元素的迭代器,所以在调用erase之前,记录下一个 ...
2020-04-19 21:34:26 627
转载 c++ 线程池的实现
线程池(英语:thread pool):一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,还能防止过分调度。可用线程数量应该取决于可用的并发处理器、处理器内核、内存、网络sockets等的数量。 例如,线程数一般取cpu数量+2比...
2020-03-18 12:04:46 289
原创 c++ 实现String类的注意要点
自定义实现c++中的string类型。通常c++ string的基本功能如下:class String{public: String(const char *str = nullptr);// 普通构造函数 String(const String &other);// 拷贝构造函数 ~String(void);// 析构函数 String & opera...
2020-03-08 16:23:58 220
原创 排序算法总结
冒泡排序算法核心思想:将无序表中的所有记录,通过两两比较关键字,得出升序序列或者降序序列。核心代码(以升序为例): for(int i=0;i<arr.size();i++) { for(int j=0;j<arr.size()-i-1;j++) { if(arr[j]>arr[j+1]) ...
2020-02-27 19:11:21 148
原创 c++中using 关键字
作用1.在当前文件中引入命名空间,比如using namespace std。2.等效于typedef的作用,该方法是在c++11中引入的。比如:using uVec = std::vector<int>;typedef std::vector<int> tVec;int main(){ int a[3]={1,2,3}; //v1,v2,v3...
2020-02-27 18:47:48 238
原创 跨模态检索Coupled CycleGAN: Unsupervised Hashing Network for Cross-Modal Retrieval
核心思想 本论文是无监督方法,主要由两层循环对抗网络构成,外层的循环对抗网络主要是使不同模态提取更有代表性的公共特征向量,内层循环对抗网络使学的高质量的哈希编码。 外层循环对抗网络:过程描述:图像通过卷积提取特征作为FrealIF_{real}^IFrealI,然后通过生成器GfI−>TG_f^{I->T}GfI−>T(是一个encode->decode...
2020-02-27 17:57:25 1915 3
原创 跨模态检索CM-GANs: Cross-modal Generative AdversarialNetworks for Common Representation Learning
核心思想: 这篇论文主要是通过对抗训练文本和图像,是它们学习到共同的特征表示。本论文由四个对抗训练过程组成(详细看损失函数)。图像自身的对抗网络,文本自身的对抗网络,图像对文本的对抗网络、文本对图像的对抗网络。 图像自身的对抗网络:通过图像卷积学习到到特征向量(不是最终的特征表示,论文中为hi),作为真实数据,重建(也就是decode过程)的特征向量(论文中为ri)作为假数据,来构建对...
2020-02-27 17:37:41 1332
原创 多模态检索Deep Cross-Modal Hashing
什么是多模态检索?现实生活中常有图搜图,文本搜文本,视频搜视频的应用,这些都是单模态检索。多模态检索就是,不同类别之间的搜索,比如用文本搜图,用图搜文本等,这类情况称为多模态检索。这篇论文的意义?传统的都是手动提取特征方法,这篇论文将特征提取和二进制码生成一起构成一个端到端的学习过程。贡献提出了一个端到端的学习框架直接离散优化生成二进制编码实验证明效果很好网...
2020-02-27 17:24:33 8978 9
原创 c++中静态绑定和动态绑定
动态绑定和静态绑定是为了支持类中的多态。静态和动态分别对应着编译期和运行期。静态对象:是在编译期就确定了类型,不能改变。动态对象:在运行期间确定的类型,可以改变其类型。静态绑定:绑定的是对象的静态类型,某特性(比如函数)依赖于对象的静态类型,发生在编译期。动态绑定:绑定的是对象的动态类型,某特性(比如函数)依赖于对象的动态类型,发生在运行期class base{public: ...
2020-02-27 17:00:11 165
通过opengl库绘制的模型,能否存储为某种三维模型格式
2018-12-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人