自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DLililiDengDaa~~

I don't wanna be a big man,Just wanna fight with everyone else!

  • 博客(60)
  • 资源 (1)
  • 收藏
  • 关注

原创 weakptr-void sharedptr-void知多少及智能指针的类型转换

void*裸指针的使用及转换我们知道,在使用裸指针时,对于那些不确定的类型指针,我们可以用void*来进行指向.真正知道了类型之后,需要进行转换.具体的转换方式有:static_cast<T*>const_cast<T*>reinterpret_cast<T*>dynamic_cast<T*>static_cast:显式转换,只要你知道要转换的类型,且不包含底层const都可以使用.这也是最常用的一个转换: double d = 2;

2020-05-30 00:59:49 1667 1

原创 POLLHUP vs POLLNVAL vs EPOLLHUP

POLLNVALPOLLNVALis equivalent to EBADF: it means the file descriptor does not actually refer to any open file, i.e. it was closed or never open to begin with. This can never happen except as a result of a programming error or intentional attempt to query

2020-05-26 10:08:56 873

原创 pthread_join(),pthread_exit(),pthread_detach()

简介pthread有两种状态joinable状态(属性)和unjoinable状态,如果线程是joinable状态,当线程函数自己返回退出时或pthread_exit时都不会释放线程所占用堆栈和线程描述符。只有当你调用了pthread_join之后这些资源才会被释放。若是unjoinable状态的线程,这些资源在线程函数退出时或pthread_exit时自动会被释放。unjoinable属性可以在pthread_create时指定,或在线程创建后在线程中pthread_detach自己, 如:pthr

2020-05-22 14:21:26 776

转载 Keras的自定义lambda层去reshape tensor张量时model保存出错的解决办法

背景          分割网络在进行上采样的时候我用的是双线性插值上采样的,而Keras里面并没有实现双线性插值的函数,所以要自己调用tensorflow里面的tf.image.resize_bilinear()函数来进行resize,如果直接用tf.image.resize_bilinear()函数对Keras张量进行resize的话,会报出...

2020-01-12 12:02:11 646 1

原创 使用GDB进行多线程调试的基本常用命令

1. 线程的查看首先创建两个线程:#include <stdio.h>#include <unistd.h>#include <pthread.h>#include <stdlib.h>#include <string.h>void* pthread_run1(void* arg){ (void)arg; ...

2019-12-30 12:13:39 219

原创 VS2017+QT打包程序发布

https://www.cnblogs.com/doudou-1102/p/10266010.html

2019-08-31 16:18:12 1569

原创 海量数据处理算法—Bit-Map---面试题集锦

Bitmap算法简介:https://blog.csdn.net/hguisu/article/details/7880288面试题集锦:https://blog.csdn.net/v_july_v/article/details/6685962

2019-08-14 21:55:21 213

原创 java中的接口与C++的多继承

JAVA接口含义https://www.runoob.com/java/java-interfaces.htmlJava中接口的作用问题: 例如我定义了一个接口,但是我在继承这个接口的类中还要写接口的实现方法,那我不如直接就在这个类中写实现方法岂不是更便捷,还省去了定义接口?解答:接口就是个招牌。比如说你今年放假出去杭州旅游,玩了一上午,你也有点饿了,突然看到前面有个店子,上面挂着KFC...

2019-08-12 17:59:23 453

原创 宏定义函数-普通函数-内联函数区别

宏定义函数VS普通函数VS内联函数宏定义函数VS普通函数宏定义函数要点:变量都用括号括起来,防止出错,结尾不需要;。在实际编程中,不推荐把复杂的函数使用宏,不容易调试。多行用\例子:单行:#define MAX(a, b) ((a) > (b) ? (a):(b))多行:#define MALLOC(n, type) \((type *) malloc((n)*...

2019-07-04 13:59:32 582

原创 CString,string,char*转换

CString,string,char*转换首先假设这里CString是CStringA,之后再讨论CStringW的转换.string=> CStringstring str;CString cstr;cstr.format("%s",str.c_str());CString=> stringCString cstr;string str(cstr.GetB...

2019-06-19 13:41:19 262

原创 函数对象和函数指针

函数指针函数指针:是指向函数的指针变量,在C编译时,每一个函数都有一个入口地址,那么这个指向这个函数的函数指针便指向这个地址。用途:用作调用函数和做函数的参数。声明方法:数据类型标志符 (指针变量名) (形参列表)int (*func) (int x); 这里的(*func)不能去掉括号,去掉括号就是返回值为int指针的函数声明。一般用typedef:typedef i...

2019-06-16 22:08:16 1810 1

原创 可变形参的函数

可变形参的函数总共有三种方式:initializer_list (c++11)省略符形参可变参数模板 (c++11)initializer_list这种只适用于全部实参类型相同,我们可用initializer_list类型的形参.注意initializer_list也是模板类型,但与vector不同的是,initializer_list中的元素值永远是常量值,我们无法去改变它的元...

2019-06-16 22:06:30 206

原创 同步-异步-阻塞-非阻塞全面解析

阻塞/非阻塞/同步/异步首先结论如下:对于unix来说:阻塞式I/O(默认)非阻塞I/O(nonblock)I/O复用(select/poll/epoll)都是同步I/O,因为它们在数据由内核空间复制回进程缓冲区时都是阻塞的(不能干别的事)。AIO异步I/O模型它是异步I/O,因为异步I/O是这个含义:数据准备完成由内核空间拷贝回缓冲区后 并通知进程在进程收到通知...

2019-06-05 17:28:23 159

原创 vscode配置c++环境 如何在windows上开发linux程序

VSCode(c/c++插件)配置C++环境请看官方文档足够解决大部分问题.如果您只想要一个轻量级工具来编辑C ++文件,Visual Studio Code是一个很好的选择。但是,如果您希望获得现有Visual C ++项目的最佳体验或在Windows上进行调试,建议使用Visual Studio IDE.C/C++扩展不包括C ++编译器或调试器。这里有几个编译器的选择:C...

2019-05-29 23:16:51 3903

原创 extern,extern C,头文件中可否定义变量,static,const等汇总

extern , extern “C” 作用, 该不该在头文件中定义全局变量? 以及C中的const static,C++中的static 和 const区别联系.extern首先说明extern,一般来说extern的作用是告诉编译器,我要引用别的模块定义的变量或者函数啦. 即extern xxx;只用来声明,而不定义.一般用法如下:对于extern 变量:A.c#include &...

2019-05-14 22:15:50 753

原创 strcpy的不安全之处

不安全的strcpystrcpy将src指向的以null结尾的字节字符串(包括null终止符)复制到dest指向其第一个元素的字符数组。如果dest数组不够大,则行为未定义。 如果字符串重叠,则行为未定义。 如果dest不是指向字符数组的指针,或者src不是指向以null结尾的字节字符串的指针,则行为是未定义的。strcpy,strncpy等函数都不安全.原因在于他们都不检查边界,极易造成...

2019-05-09 17:47:58 6887 3

原创 SIGINT,SIGKILL,SIGTERM信号区别,各类信号总结

SIGINT,SIGKILL,SIGTERM三者都是结束/终止进程运行.但略微有区别.SIGINT产生方式: 键盘Ctrl+C产生结果: 只对当前前台进程,和他的所在的进程组的每个进程都发送SIGINT信号,之后这些进程会执行信号处理程序再终止.SIGTERM产生方式: 和任何控制字符无关,用kill函数发送本质: 相当于shell> kill不加-9时 pid.产生结...

2019-04-16 13:43:24 25035

原创 函数调用约定(cdecl,stdcall,thiscall...等区别)

X86函数调用约定(cdecl,stdcall,fastcall,thiscall…)调用者清理堆栈的约定:在这些约定中,调用者自己清理堆栈上的参数(arguments),这样就允许了可变参数列表的实现,如printf()。cdeclcdecl(C declaration,即C声明)是源起C语言的一种调用约定,也是C语言的事实上的标准。在x86架构上,其内容包括:函数实参在线程栈上按照...

2019-04-03 17:13:55 887

原创 [C++] 分析std::iterator和std::iterator_traits

std::iterator和std::iterator_traitsstd::iteratorstd::iterator是一个模板类,其声明为: template&lt; class Category, class T, class Distance = std::ptrdiff_t, class Pointer = T*, clas...

2018-08-20 20:39:14 4187

原创 [LeetCode] 804. Unique Morse Code Words

题目描述:a-z都有对应的莫斯密码 为: [“.-“,”-…”,”-.-.”,”-..”,”.”,”..-.”,”–.”,”….”,”..”,”.—”,”-.-“,”.-..”,”–”,”-.”,”—”,”.–.”,”–.-“,”.-.”,”…”,”-“,”..-“,”…-“,”.–”,”-..-“,”-.–”,”–..”]Example:Input: words = ["gin...

2018-05-08 21:16:26 178

原创 第一次面试成都某游戏公司时的题目

首先笔试,较为基础,其中最后有一道关于游戏开发题目总共23根火柴,人和计算机只能拿其中的1 2 3 根,谁拿到最后一根谁就输,编程实现该游戏。设计模式谈谈熟悉的一种设计模式,并用例子说明。TCP/IP协议谈谈TCP三次握手。面试问的较为底层1.浮点数类型在计算机中如何存储的 答:对于浮点数类型采用单精度float类型,和双精度类型double,...

2018-05-06 21:35:05 3952

原创 ASCII Unicode UTF-8/16的区别,及char c='汉';

从ASCII到Unicode,UTF-8作者:于洋 链接:https://www.zhihu.com/question/23374078/answer/69732605 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。ASCII很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称

2018-04-23 20:30:27 407

原创 c++ primer 类中函数调用过程解析(虚函数与作用域) P550疑问解析

函数调用过程即c++ primer 第五版中P549所谈,这里强调几点。 假定是p-&gt;mem() 或者obj.mem()首先确定静态类型,即p的类型。然后在这个静态类型中名字查找函数,即查找有没有mem。即 名字查找。若没有则去静态类型(即p的类型)的直接基类中找,仍没有继续向基类中找。直到基类顶端。仍没有的话,就返回查找失败,发生错误。若找到了,接着类型检查,如果类型匹配...

2018-03-29 21:58:35 262 1

原创 C++ primer 详解派生类向基类转换的可访问性

派生类向基类转换的可访问性c++ primer第五版 P5441.首先谈谈protected作为成员访问符的一个情况。对类用户不可访问。对派生类的成员和友元可以访问。最重要的一条性质 派生类的成员及友元只能通过派生类对象去访问基类的protected成员,而不能通过基类对象去访问基类的proteced成员。 即如下代码: “` class Base { public...

2018-03-28 16:39:12 420

原创 C++ primer 当vector中的push_back遇到移动构造函数会发生什么

首先仔细阅读 C++ primer 第五版 P474 Note下面的一段话意思是说当我们在类中定义了移动构造函数的时候,假设这个移动构造函数是noexcept的,类似对应StrVec类的操作,vector可能会重新分配内存,也就是说会将元素从旧空间移动到新内存中去。这个过程中就会发生移动构造函数注意 这里要注意一点,C++11规定的是移后源对象是一定要处于可析构的状态,意思是说移后源对象有可能执行

2018-03-20 21:48:04 1362 1

转载 c++中的.hpp文件

c++中的.hpp文件 hpp,其实质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该cpp文件即可,无需再 将cpp加入到project中进行编译。而实现代码将直接编译到调用者的obj文件中,不再生成单独的obj,采用hpp将大幅度减少调用 project中的cpp文件数与编译次数,也不用再发布烦人的lib与dll,因此非常适合用来编写...

2018-03-19 20:27:35 262

原创 c++ primer 13.26 指针行为的类

13.26#include #include #include #include #include "StrBlob.h"#include "StrBlobPtr.h"using namespace std;class HashPtr{public: HashPtr(const string& s = string()) :ps(new string(s)), i(0),u

2018-01-17 13:43:55 293 1

原创 c++ primer 13.22练习(值行为的类)

13.22#include #include #include #include using namespace std;class HashPtr{public: HashPtr(const string& s=string()) :ps(new string(s)), i(0) {} //定义值行为的拷贝构造函数 HashPtr(const HashPtr& h) :p

2018-01-17 13:41:17 318

原创 (一)将7.1.1vtk配置到MFC工程中去

毕业设计要求将CT序列图进行三维结构的重建显示,要用到VTK库,VTK和MFC进行混合编程。说实话,这个过程很烦,首先是MFC本身就是一个即将淘汰的技术,但是由于实验室要维护一套祖传的软件(已有14年的历史。。。),被强制要求使用MFC。唉,我认为IT行业如果没有更新换代的思想,只想着吃老本,是注定要被淘汰的!感慨完毕,进入正题。。。假如已有MFC工程,那么怎样将VTK配置到该工程

2018-01-08 20:58:16 1597 2

原创 c++ primer 13.3节练习(定义自己版本的swap函数并排序)

13.31#include #include #include #include #include #include "StrBlob.h"#include "StrBlobPtr.h"using namespace std;class HashPtr{ friend void swap(HashPtr&, HashPtr&);public: HashPtr(const

2017-12-06 15:33:35 488

原创 c++ primer 13.1.4节练习(合成的拷贝构造函数与自定义拷贝函数区别)

13.1.4节练习目的:Numbered类使每个对象都有唯一的标号情况1:使用合成的拷贝构造函数#include #include #include #include using namespace std;class Numbered{public: Numbered(){ mySeq = num++; }//构造函数 int mySeq; //Numbere

2017-12-04 16:27:41 567

原创 c++ primer 13.13练习(构造,拷贝,析构函数何时发生详解)

13.13理解构造函数,拷贝构造函数,析构函数何时发生,最简单的一个办法就是写一个很简单的类,观察在几个情况下是否发生。#include #include #include #include using namespace std;struct Test{ Test(){ cout << "构造函数" << endl; } Test(const Test &){ cou

2017-12-04 15:14:49 353

原创 c++ primer 12.2.2节练习(使用allocate五步走)

12.26#include #include #include using namespace std;int main(){ /**********1.定义allocator的一个allocator对象,要有类型T********/ allocator alloc; int n = 100; /**********2.allocate(n)分配n个为初始化的内存***

2017-12-03 15:57:42 378

原创 c++ Primer 5 12.1.6节练习 (头文件相互包含的问题及解决办法)

头文件相互包含的解决办法

2017-12-01 16:51:04 363

原创 C++ primer 8.3.2节练习(有关ostringstream清空的问题)

8.13输入:电话本输出:检测后并格式化后的电话本,输出错误电话号码#include #include #include #include using namespace std;bool Valid(const string& i){ return(i.size() == 9);}string& Format(string& i){ for (auto

2017-12-01 15:33:50 545

原创 c++ primer 8.2.1节练习(读文件 写文件 fstream)

8.4#include #include #include #include using namespace std;int main(){ ifstream input("F:\\test\\input.txt");//打开文档,string中有'\'应用转义双写 vector Test{}; string temp1; if (getline(input, te

2017-12-01 13:25:28 392

原创 c++ primer 8.1.2节练习(关于流的知识)

8.1#include #include using namespace std;istream & Process(istream & i)//对于流对象,不能拷贝和赋值,必须使用引用来传递实参{ int test; while (i >> test||!i.eof()) { if (i.bad()) throw runtime_error("IO流发生不可恢

2017-12-01 13:21:24 557

原创 c++ primer 12.1.4节练习(自定义 shared_ptr的删除器)

12.14#include #include #include #include using namespace std;string destination = "目的";string connection = "连接";string Connect(string *) //获得一个连接{ cout << "获得一个连接" << endl; string temp

2017-12-01 13:17:23 305

原创 main函数的两个参数

int main(int argc , char *argv[])int main(int argc, char **argv)当我们确实要给main函数传参,执行不同的代码时,我们可以选择这种写法。argc is An integer specifying how many arguments are passed to the program from the command li

2017-11-30 20:37:48 271

原创 C++ primer第五版 7.1.3节练习

定义Sales_data的头文件#ifndef CH6_H_INCLUDED#define CH6_H_INCLUDED#include #include using namespace std;struct Sales_data{ string isbn() const { return bookNo; } Sales_data& Combine(const Sales_da

2017-10-18 20:22:39 326

Unix-Linux编程实践教程

学习Linux的教程,高清版本。对新手较为友好,可以入门学习。

2018-09-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除