- 博客(40)
- 资源 (18)
- 问答 (1)
- 收藏
- 关注
原创 开发中需要思考的以下问题:
这是因为,当我们通过一个基类指针来删除一个派生类对象时,如果基类的析构函数不是虚函数,那么就会直接调用基类的析构函数,而不会调用派生类的析构函数。这主要是通过在智能指针的析构函数中删除指针来实现的。不要使用裸指针初始化智能指针:如果你已经有一个裸指针指向一个动态对象,不要用这个裸指针来初始化一个智能指针,因为当智能指针销毁时,它会删除同一个对象,导致重复删除同一个对象。在C++中,如果一个类有可能被其他类继承,并且可能会通过基类的指针来删除派生类的对象,那么这个类的析构函数就应该被声明为虚函数。
2024-03-05 17:07:25 677
原创 hadoop学习笔记
1. 国内源下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/记得将/path/to/hadoop-3.2.1替换为实际的Hadoop路径。3.配置Hadoop环境。
2024-02-07 19:47:27 1044
原创 什么是右值引用,跟左值又有什么区别
区别在于,右值引用可以绑定到临时对象、将要被移动的对象或通过std::move()转换后的对象,而左值引用只能绑定到左值。当使用右值引用时,编译器会优先选择移动构造函数或移动赋值运算符,而不是拷贝构造函数或拷贝赋值运算符,从而避免不必要的拷贝操作,提高效率。左值是可以取地址的表达式,它有持久的身份,并且可以在多个地方使用。左值引用(左引用)用于绑定左值,使用单引号(&)表示,例如int&。右值引用是C++11引入的一种引用类型,用于绑定临时对象或将要被移动的对象。它使用双引号(&&)表示,例如int&&。
2023-10-09 16:21:40 244
原创 面向对象类设计7大技巧(如果已具备证明已是高级水平了)
1. 一定要保证数据私有 这是最重要的;绝对不要破坏封装性。有时候需要,编写一个访问器方法或更改器,但是嘴还还是保持实例的私有性。很多经验告诉我们,数据的表示形式很可能会改变。但他们的使用方式却不会经常发生改变。当数据保持私有时 , 它们的表示形式的变化不会对类的使用者产生影响 , 即使出现 bug 也易于检测 。2.一定要对数据初始化 java 不对局部变量进行初始化,但是会对对象的实力进行初始化。最好不要依赖于系统的默认值。而是应该显示的初始化所以的数据,具体的初...
2021-11-02 15:53:07 400
原创 java常见bug
1.错误一:Array 转换成 ArrayListArray 转换成 ArrayList 还能出错?这是哪个笨。。。。。。等等,你先别着急说,先来看看是怎么回事。如果要将数组转换为 ArrayList,我们一般的做法会是这List<String> list = Arrays.asList(arr);如果要创建一个能够添加元素的 ArrayList ,你可以使用下面这种创建方式:ArrayList<String> arrayList = new Arra.
2021-10-14 19:30:16 225
原创 实现 与或非 运算函数,java c++二个版本
1.由于工作需求要实现一个函数,接收一个布尔表达式计算出其结果。例如:string exp ="(true | false )& false"因为c++ 与java 均是静态语言,不支持这种动态的表达式, 有些方案是把 表达式写入到一个文件里面,然后编译成可执行文件,吊起然后再返回结果, 这种效率低。想了想 其实自己也可以实现一个代码解析器然后计算出结果不久ok了吗?于是乎自己写了一个能计算 | & ! 表达式的方法, 并且支持() , 允许里面有多个空格。话不多说直接上...
2021-08-20 10:42:18 301
原创 使用nginx实现https 转发到http服务器 post请求变成get请求
项目背景: 需要做一个小程序的后台服务器; 因为线上小程序只能访问 https接口, 为了方便少修改后台服务器使用ngin作为代理:1.nginx 配置安装openssl 模块:Nginx开启SSL模块:切换到源码包:cd /usr/src/nginx-1.5.9查看nginx原有的模块/usr/local/nginx/sbin/nginx -V在configure arguments:后面显示的原有的configure参数如下:--prefix=/usr/loc..
2020-10-23 10:57:44 1661
原创 libevent 编写一个httpclient
背景:基于libevent实现了一个http服务器, 也想使用libevent 实现一个客户端, 发现网上的例子要不是代码不全(编译不过,)要不就是简要说明有些还有内存泄漏. 基于此一个全面的,给初学者参考使用.http客户端使用到的接口函数及请求流程如下初始化event_base和evdns_base struct event_base *event_base_new(void);struct evdns_base * evdns_base_new(struct event_bas..
2020-08-26 11:12:51 796
原创 mingw和MSVC 编译出来的动态库与静态库通用吗
1. 背景:我的项目是使用MinGW 编译的, 在引入第三方、或者其他人开发的静态库使用MSVC 库编译出来的,这时候编译的是就会报好多E:*******: error: undefined reference to `__imp__ZN7mysqlpp10ConnectionC1Eb'。当时用第三方库是使用使用MSVC 库编译出来 动态库的时候没有问题,2. 在网上收了一把。如下是有用的回答:都是很好用的编译工具,但是他们兼容的并不好。当你的项目使用MinGW编译的使用,想要用一个MSV.
2020-07-31 15:52:39 10848 4
原创 Linux 下c++程序一次编译到处运行
需求:项目通过一次编译出的程序要能够适配任何版本Linux发行版。通过程序的编译运行原理可以知道有几个技术问题:编译可执行程序需要依赖的本地库的版本必须低于目标机。许多地方用到了C++语言11以及更高版本的新特性,所以编译器版本必须是新的。但是一个Linux操作系统安装的默认gcc/g++依赖的是同版本的c/c++标准库。通过寻找解决方案:在高版本的Linux发行版上编译程序,然后把程序依赖的库都安装到目标机上,让程序寻找指定的库。解决方案优点:自由使用所需的Linux发行版,环境
2020-07-15 15:17:00 730
翻译 调研跨平台C++网络库
(1)ACE庞大、复杂,适合大型项目。开源、免费,不依赖第三方库,支持跨平台。http://www.cs.wustl.edu/~schmidt/ACE.html(2)AsioAsio基于Boost开发的异步IO库,封装了Socket,简化基于socket程序的开发。开源、免费,支持跨平台。http://think-async.com/(3)POCOPOCO C++ Libraries 提供一套 C++ 的类库用以开发基于网络的可移植的应用程序,功能涉及线程、线程同..
2020-05-26 09:48:41 1986 2
原创 Filezilla server 下载、安装、配置教程
首先下载安装Filezilla server 安装包;百度网盘下载地址:链接: https://pan.baidu.com/s/10MURC3I1CE9AfRB0M_Xu1A提取码: cutf1.全部解压,进入FileZilla_Server-目录,然后管理员权限运行FileZilla server.exe, 一路选择是.2,运行 FileZilla Ser...
2020-03-11 16:26:29 2804 1
原创 __acrt_first_block == header’异常
c++:动态库接口函数返回stl对象的设计原则塈‘__acrt_first_block == header’异常版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net/10km/article/details/80522287问题描述最近在写dll动态库时,动态库函数返回的std::string对象在析构时抛出了异常:为简化描述...
2019-12-03 14:13:56 4723 1
原创 使用xlnt 读写excel文件
环境 win10 64位 VS2017 64位 cmake 3.12.2 64位1.生成空的项目vs2017 文件->新建-->其他-->空项目-->ddxls(C:\Users\Administrator\source\repos\ddxls)添加demo.cpp文件 项目-->右键-->添加新项 -->demo.cpp 2.给项目配置...
2019-12-02 15:56:51 2810
翻译 Linux下通过ODBC连接mysql orical sqlServer数据库
2017-07-18 22:21:49mei777387阅读数 8528更多分类专栏:Linux,数据库,编程数据库编程Linux版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/mei777387/article/details/75331428概述:...
2019-11-15 11:47:14 1151
原创 云服务器挂载 /dev/vdb磁盘
最近使用公司的linux虚拟机 说的是500g没用多久发现没有内存了df -a 发现只有20g 另外400多g未挂载。1.首先检查是否有硬盘未被挂载fdisk -l2.vdb还未被使用,开始分配fdisk /dev/vdb在分别输入n、p、1、2048、1048575999、w参数解释:m可以查看可以用哪些参数,n是划分一块新的盘符选择e是扩展分区,p是主分区,一块硬盘最...
2019-11-13 10:37:43 1531
原创 ubantu安装
1,下载ubantu2, 选择Samba服务器 直接可以在wind编码3,安装 openssh-server ,查看是否启动 ps -e |grep sshsudu apt-get installopenssh-server4, ip addr 查看IP地址,5, 登录。。。。。。。。linux 常用shell命令:1) 区分大小写2)## 表...
2019-10-31 19:55:00 123
原创 C++读写锁
今天遇到一个需要读写锁的设计, 用c++14里提供的读写锁,一下是代码// readerWriterLock.cpp#include <iostream>#include <map>#include <shared_mutex>#include <string>#include <thread>std::map<...
2019-09-19 14:57:11 1135
原创 curl 64位编译静态库使用报2019链接错误问题
一、下载最新版本libcurlhttps://curl.haxx.se/libcurl/ 二、编译解压进入curl-curl-7_59_0\winbuild\下静态库,debugnmake /f Makefile.vc mode=static VC=14 DEBUG=yes MACHINE=x86静态库,releasenmake /f Makefile.vc mode=static...
2019-09-02 14:57:07 895 1
原创 windows开发/关闭防火墙
有些时候需要作为服务器,对外接收socket连接。第一步:右击我的电脑,属性,打开控制面板主页:第二步:单击系统安全第三步:选择防火墙第四步:启用或者关闭防火墙...
2019-08-27 09:19:49 284
原创 winds开放指定端口
有时候需要监听端口对外建立socke连接(或者UDP),有为了安全考虑不能关闭防火墙,这时候需要设置开放特定端口。具体流程如下:1)打开控制面板:2)点击系统安全:3)点击防火墙:4)点击高级设置:5)右击入站规则->新建规则->端口6) 下一步,选择通信类型,再输入端口7)下一步下一步 起个名字就OK了...
2019-08-23 14:43:29 202
原创 Invalidate函数
void Invalidate( BOOL bErase = TRUE );参数: bErase 决定了是否要在WM_PAINT消息前发送WM_ERASEBKGND该函数的作用是使整个窗口客户区无效。窗口的客户区无效意味着需要重绘,例如,如果一个被其它窗口遮住的窗口变成了前台窗口,那么原来被遮住的部分就是无效的,需要重绘。这时Windows会在应用程序的消息队列中放置WM_PAINT消息。...
2019-08-19 14:21:42 923
原创 PYthon日志查询
#!/usr/bin/python#-*- coding: UTF-8 -*-import os, sys, string, codecs# 设置字符集reload(sys)sys.setdefaultencoding("utf-8")# 将比赛ID, 玩家id加入def AddMapKeySetVal(Map, Key, Val): if Map.has_key(...
2019-08-19 14:21:05 948
翻译 lua&luaJit
lua(www.lua.org)其实就是为了嵌入其它应用程序而开发的一个脚本语言,luajit(www.luajit.org)是lua的一个Just-In-Time也就是运行时编译器,也可以说是lua的一个高效版。二、优势1)lua是一个免费、小巧、简单、强大、高效、轻量级的嵌入式的脚本语言,lua当前的发行版本5.3.1只有276k。2)它是用C语言开发的项目,所以可以在大部分的...
2019-08-19 14:19:49 2041
转载 安装gcc最新版本
系统版本:CentOS 7.4 64位手动编译并安装gcc最新版本提示:需要先有c编译器,和必要的c++库,否则后面会报错,可以等报错再回头看这里。安装C编译器$ yum install gcc //目前使用yum方式只能安装最高为4.8.5版本的安装c++库$ yum inst...
2019-08-05 10:50:05 2038
转载 C++ 11 锁
原文转载于:https://blog.csdn.net/fengbingchun/article/details/73521630C++11中新增了<mutex>,它是C++标准程序库中的一个头文件,定义了C++11标准中的一些互斥访问的类与方法等。其中std::mutex就是lock、unlock。std::lock_guard与std::mutex配合使用,把锁放到loc...
2019-05-15 15:09:40 777
原创 redis SDS
Redis 没用用 C语言的字符串,而是自己构建一个简单动态字符串(simple dynamic string)作为redis默认的字符串。 但是在redis里一些无需对字符串改变的地方会使用C字符串 比如打印日志SDS 结果定义:struct sdshdr {//记录buf数组已使用的字节数量 等于字符串的长度int len;//未使用的空间int free;//字...
2019-03-26 10:42:13 239
转载 Linux–CentOS定时运行Python脚本
Linux–CentOS定时运行Python脚本最近公司的项目开始进入运营阶段,数据库的记录也开始多了起来。看了postgresql的自动清理好像不太符合需求,暂定对接口请求记录表保留3个月内的记录,既然postgresql不支持那就发挥python的优势,自己写个脚本实现执行所需Linux下安装crontab符合自己需求的python脚本由于自己和公司所使用的是云服务器,均已安装cr...
2019-01-28 18:53:54 852
原创 写一个0到9等奖随机的算法
直接上代码了#include <iostream>#include <time.h>#define RAND_MAX 0x7fffusing namespace std;//抽奖结果数据结构struct DrawReslut{int gift_ID;int gift_type;int gift_count;};//抽奖随机相关内容int L_...
2017-10-09 10:40:21 1006
原创 python分类查询
#!/usr/bin/python#-*- coding: UTF-8 -*-import os, sys, string, codecs# 设置字符集reload(sys)sys.setdefaultencoding("utf-8")# 将比赛ID, 玩家id加入def AddMapKeySetVal(Map, Key, Val): if Map.has_key(K
2017-08-17 16:35:53 352
原创 Python数据库查询
# -*- coding: UTF-8 -*-import timeimport MySQLdbhostUrl = "139.199.179.128"hortPort = 19000username = " "password = " "db_center = "guangxi_center"db_logic = "guangxi_logic"gset =se
2017-08-17 16:34:44 732
原创 Python日志查询
#!/usr/bin/python#-*- coding: UTF-8 -*-import os, sys, string, codecs# 设置字符集reload(sys)sys.setdefaultencoding("utf-8")# 将比赛ID, 玩家id加入def AddMapKeySetVal(Map, Key, Val): if Map.has_key(K
2017-08-17 16:33:58 845
原创 Ue4动画蒙太奇
蒙太奇的部分其他用途包括:能够从动画蓝图的 事件图 中播放动画。将复杂的一系列动画串联起来,让它们成为一个动画。根据代码或蓝图脚本仅循环一个或多个动画中的特定部分。根据代码或蓝图脚本处理多个动画的基于事件的切换。能够将复杂的动画序列分配到可在代码或蓝图中切换的指定槽中。根据代码或蓝图脚本在各种动画序列之间精确切换元数据(Meta Data) 这是可以随
2017-06-21 10:59:50 2776
原创 Ue4导入视频黑屏原因
黑的原因大致有二个原因一是因为:解码的时候没找到视频文件,这个的话可以看看路径问题,另一个原因就是找到了视频文件解码失败,所以可以把视频转一下码然后再导入。具体原因如下:UE4当前使用的 Windows播放器插件底层应用的是Windows Media Foundation API。MacOS插件使用的是Apple的AV Foundation,当前功能有限,但可在 iOS
2017-06-21 10:58:05 5970
原创 Ue4前世今生
UE4是一家叫Epic Games的公司做的一个名叫unrealengline,中文名虚幻4的免费游戏引擎,EpicGames由来,1991年Tim Sweeney在马里兰州的罗克维尔创立了EpicMegaGames,依托于波托马克计算机系统。同年通过波托马克电脑系统公布其旗舰产品:zzt。zzt打响了EpicMegaGames在业界的知名度。接着EpicMegaGames开发了Epi
2017-06-21 10:46:37 5614
原创 C++编写容器列表
最近因为工作需要自己参考一些资料和自己理解编译一个链表容器用于数据的删除、添加、插入、清空。。。。还比不上list,不吝赐教。直接上代码了直接写在头文件里面,包含该头文件即可用:typedef int INT_PTR;typedef unsigned int UINT_PTR, *PUINT_PTR;typedef long LONG_PTR, *PLON
2017-06-21 10:35:42 359
翻译 C++反射机制
在很多程序设计中,经常会遇到这样的需求,即可以通过类的名字得到对应类型的对象,尤其是一种数据需要很多策略处理的时候。比如对于网页类型的识别,一篇网页可能是视频类型、新闻类型、图片类型、网站首页、百科等很多类型中的一种,网页类型对于搜索引擎来说是非常重要的,计算rank的时候网页类型往往是一个非常重要的因子。具体实现的时候,网页类型识别的策略可以封装在类中,这样一个策略就可以设计成一个类。但是后期随着
2016-04-18 18:36:02 463
原创 Billboard 理解与实现
Billboard是一项使用非常普遍的技术,很多一些绚丽的特效可以使用它来实现,当然公告板、姓名板等是它较早的用途。Billboard 的主要思想是在 XY 平面上建立一个绘图区域,在此区域上渲染一张贴图的一个区域,并且此平面要一直面向摄像机。Billboard的主要实现:1. Billboard的绘制区域是建立在自身坐标系的XY平面上,绘制区域的正面朝向为自身坐标系的Z轴的方
2016-04-07 17:44:21 3482
cmake-3.9.1-Linux-x86_64.rar
2020-08-17
纹理映射、Billboard、Impostor、阴影生成、域深、粒子系统
2016-04-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人