自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(280)
  • 资源 (2)
  • 收藏
  • 关注

转载 C++11 Lambda表达式

C++11中的Lambda表达式用于定义并创建匿名的函数对象,以简化编程工作。Lambda表达式的基本构成:[capture](parameters) mutable ->return-type{ statement}[函数对象参数](操作符重载函数参数)mutable ->返回值{函数体}函数对象参数;[],标识一个Lambda的开始,这部分必须存在,不能省略。函数对象参数是传递给编译器自动生成的函数对象类的构造函数的。函数对象参数只能使用那些到定义Lambd

2021-01-18 22:38:12 340

原创 OpenCASCADE(一)编译和安装

介绍官方说明链接:https://old.opencascade.com/doc/occt-7.5.0/overview/html/index.html#intro_install_linux中文文档,这两篇博客介绍的很详细:https://blog.csdn.net/jelatine/article/details/89431044https://blog.csdn.net/jelatine/article/details/89459294下载链接https://o.

2021-01-14 13:40:55 4978 2

原创 OpenCASCADE(二)在QT下配置及问题记录

OpenCASCADE在QT下配置

2021-01-13 10:33:53 2720 2

转载 将cmd/powershell中的打印信息输出保存为txt文本文件

将cmd/powershell中的命令输出保存为txt文本文件为了避免命令行信息量太大导致刷屏,需要把打印信息输出到txt,这样方便查看举例:ping连接百度时输入:ping www.baidu.com >D:/log.txt此时命令行界面什么都不会打印,都会输出到 log.txt上...

2020-12-15 17:54:19 3975 2

原创 老码识途——1.1反汇编机器码入门

计算机环境 Win7 32位 调试环境 VS2019 32位 开始学习“老码识途”这本书,希望能有所收获。测试代码单纯在新建工程上加了全局变量#include <iostream>int gi;int main(){ gi = 12; std::cout << "Hello World!\n";}VS快捷键:F9加断点F5断点调试Ctrl+F5 非调试运行,断点无效反汇编开启位置...

2020-10-17 15:36:03 1778

转载 静态库调用动态库或者静态库(Cmake例子)

1. 静态库无论调用动态库还是静态库都只需要include库的头文件2. 要在调用该静态库的地方添加库引用,并设置路径。结论:其实静态库调用动态库或者静态库,只是在用到库方法的地方把该方法添加到LIB当中,真正使用的地方才会把这些库LINK起来生成可执行文件。举个例子比如在CMake中调用 生成 某个 111.so 动态库,该 111.so 库依赖 222.a静态库,而 222.a 依赖 333.a 静态库:那么生成 222.a 库的时候只需要把 333.a 库的头文件包含就可以,然后生

2020-07-10 12:15:06 1369

原创 CMake生成库、可执行文件等指令

CMAKE_MINIMUM_REQUIRED(VERSION 3.4.1) set(PROJECT_NAME Test0706) project(${PROJECT_NAME}) #加载头文件#include_directories(${PROJECT_SOURCE_DIR}/include/) #生成动态库 .so# add_library(${PROJECT_NAME} SHARED test0706.cpp)#生成静态库 .aadd_library(${PROJECT.

2020-07-09 17:02:16 782

原创 Android Studio NDK cpp读取so库文件

做了一个demo,在此记录下:1.首先需要Android Studio新建NDK C++工程;2.修改地方:build.gradleandroid { //省略部分代码 externalNativeBuild { cmake { cppFlags "" abiFilters "x86_64" arguments '-DANDROID_PLAT.

2020-07-07 11:27:20 598

原创 node.js 引入html没有css样式,错误Refused to apply style from XXX.css

出现:Refused to apply stylefrom 'XXX.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.我的错误,由于html打开正常,所以肯定是 node.js 代码问题,这里是因为node环境下使用express框架的静态资源访问,需要设置静态文件目录;代码如下:const e...

2020-06-14 16:14:29 3651

原创 js 事件

一.绑定事件处理函数1.ele.on xxx = function(event){}可直接看下面例子,就是一个触发事件<body> <div style="width:100px;height:100px;background-color:red"></div> <script> var div = document.getElementsByTagName('div')[0]; div.oncli

2020-06-08 19:07:37 169

原创 Linux端查看.a/.so库文件信息,包含架构等等

nm XXX.a上面的命令可列出.o .a .so中定义的函数,全局变量等等。readelf -h XXX.a这命令可列出所有so的OS,ABI,架构信息,类别(32/64位)等等

2020-06-05 17:56:40 11180

原创 CentOS Ghome权限命令:直接利用鼠标做复制粘贴等操作

sudo nautilus输入后,弹出一个文件夹,在该文件夹内,点击到其他路径,均可复制粘贴,PS:记录下命令,防止找不到

2020-06-05 17:36:08 586

原创 js dom节点类型

HTML DOM 把 HTML 文档呈现为带有元素、属性和文本的树结构(节点树)。通过JavaScript,您可以重构整个 HTML 文档。您可以添加、移除、改变或重排页面上的项目。要改变页面的某个东西,JavaScript 就需要获得对 HTML 文档中所有元素进行访问的入口。这个入口,连同对 HTML 元素进行添加、移动、改变或移除的方法和属性,都是通过文档对象模型来获得的(DOM)。节点分类节点类型 说明 value值 元素节点 每一个HTML标签都是一个元素节

2020-05-24 12:08:46 350

原创 js DOM

DOM (Document Object Model)HTML 和 XML 文档的编程接口通过 DOM,JavaScript 能够访问和改变 HTML 文档的所有元素。1.查找通过 id 查找 HTML 元素<div id = "only"></div><script> var div = document.getElementById('only');</script>2.通过标签名查找&l...

2020-05-24 11:03:40 124

原创 js try...catch

//try里面如果发生错误就跳出,但不报错,继续执行try { console.log('a'); //打印a console.log(b); //有错误,跳出 console.log('c');} catch(error) { //一般打印错误信息 //用来捕捉错误,如果try没错误不执行catch,有错误才执行 console.log(error.name + " : " + error.message); //打印:ReferenceErr.

2020-05-23 16:09:37 192

原创 js数组和类数组

1.数组定义//数组定义var arr1 = [, ];var arr2 = new Array(); //系统提供构造方法//数组所有方法来自 Array.prototypevar arr = new Array(10);console.log(arr.length);//打印10var arr1 = [, ];console.log(arr1.length + ": " + arr1[0]); //打印1 : undefinedvar arr2 = [1, , 1]...

2020-05-23 15:18:37 315

原创 js对象枚举

如何访问对象里的每一个属性var obj = { name: 'code', age: 123, sex: 'male', height: 180, weight: 75}1.for(...in..,)for (var key in obj) { console.log(key + " " + typeof(key)); //key为属性名,打印均为string类型}for (var key in obj) { //错...

2020-05-23 10:27:08 248

原创 js命名空间—闭包应用

对应命名空间,首先可以使用对象的方法保存变量或者函数,达到和其他变量不冲突,这个很常见;其次可以用闭包:var aaa = 100;var init = (function() { var aaa = 1;; function addNum() { console.log(aaa++); } return function() { addNum(); }} ())console.log(aaa); //100ini

2020-05-23 09:37:56 143

转载 js继承—圣杯模式

普通写法(会影响父类)function Father(){}function Son(){}Father.prototype.lastName = "Deng";//继承方式,公有原型function inherit(Target,Origin){ Target.prototype = Origin.prototype;}inherit(Son,Father);var son = new Son;console.log(son.lastName);Son.pr

2020-05-18 10:20:02 282

原创 js原型,原型链,call/apply

prototype定义:原型是function对象的一个属性,它定义了构造函数制造出来的对象的公共祖先,通过该构造函数产生的对象,可以继承该原型的属性和方法,原型也是对象。初步看的时候,感觉类似于C++继承例子如下:Person.prototype.name = 'chen';function Person(){}var person1 = new Person;...

2020-05-08 18:09:47 193

原创 js对象和包装类

目录对象1.对象的增删改查2.对象的创建方法3.构造函数包装类对象跟C++类似,属性和方法的集合;语法如下:var person = { name:"xiaoMing", age:18, sex:"male", health:100, smoke: function(){ console.log("...

2020-05-06 15:22:20 125

原创 js闭包——简单例子

闭包:当内部函数被保存到外部时,将生成闭包;闭包会导致原有的作用域链不释放,造成内存泄漏;如下两个例子:function test(){ var tmp = 100; function a(){ console.log(tmp); } return a;//把里面的函数保存到了外面}var demo = test();demo();/...

2020-04-28 18:23:58 319

转载 js作用域

目录1.作用域(Scope)定义2.变量的作用域类型3.作用域链4.执行期上下文5.查找变量6.例17.例28.闭包的引入1.作用域(Scope)定义  [[scope]]:每个javascript函数都是一个对象,对象中有些属性我们可以访问,但有些不可以,这些属性仅供javascript引擎存取,[[scope]]就是其中一个。[[scope]]指的就是我...

2020-04-27 13:49:23 128

原创 js预编译(与C预处理区别)

第一次学的时候以为和C预处理差不多,看了下才发现区别还蛮大的;js的预编译例1:test();//打印出 afunction test(){ console.log("a");}

2020-04-24 15:39:58 260

原创 js函数写法

1.函数声明1.1.命名函数表达式//函数声明function theFirstName(){}1.2.匿名函数表达式——(常用,简化为 函数表达式)var test = function (){ document.write("a");}test();2.函数用法除了跟C++等其他语言中相同的 实参一一对应形参以外,js可以不定参,实参和形参个...

2020-04-22 14:06:39 555

原创 C++ pair的基本用法总结(整理)

pair<T1, T2> p1; //创建一个空的pair对象(使用默认构造),它的两个元素分别是T1和T2类型,采用值初始化。pair<T1, T2> p1(v1, v2); //创建一个pair对象,它的两个元素分别是T1和T2类型,其中first成员初始化为v1,second成员初始化为v2。make_pair(v1, v2); ...

2020-03-01 19:20:14 583

原创 C++验证奇偶性时求余运算%和位运算&的速度比较

假设验证数 m 的奇偶性:一般会想到直接用求余运算,即 m % 2; 用位运算也可以达到一样的效果,即 m & 1;式子就是求二进制末尾的数是 0 还是 1;二者的运算都是奇数返回1,偶数返回0;但是最近遇到一道题,在验证的时候二者的运行速度差距比较大(先说结果:位运算 优于 求余运算),针对这个问题,我进行了测试,代码如下:测试编译器:QT Creator自带编译器...

2019-11-17 21:24:55 920

原创 如何输入带有空格的string字符串

利用 getline(cin,string)#include <string>#include <iostream>using namespace std;int main(){ string s1,s2; getline(cin,s1); getline(cin,s2); cout<<s1<<endl&...

2019-11-01 20:41:11 2058

原创 收集string字符串的所有子串

代码如下://O(N^2)vector<string> getAllSubString(string str){ vector<string>arr; string m; int i,num; for(int len = 1; len <= str.size(); len++){ i = num = 0; ...

2019-11-01 19:59:07 493

原创 二分查找第一个比k大的数下标和最后一个比k的数下标

1.二分查找第一个比k大的数下标举例:int arr[5] = {1,2,3,4,5};若查找 k = 0; 则返回最左下标,即返回 0; 若查找 k = 3; 则返回下标 2; 若查找 k = 6;则返回最右下标的下一个,即返回 arr 的长度 5;(返回结果需要检测的地方)int getSubMaxK(vector<int>arr, int L ,int R, i...

2019-11-01 17:19:01 868

原创 C++查找子串string.find()与string::npos

string.find()string str = "abc";string subStr1 = "bc";string subStr2 = "cd";str.find(subStr1); //返回1,第一个匹配的下标str.find(subStr2); //返回string::npos,不是子串的话,返回一个特殊值//subStr1是否为子串if(str.find(subSt...

2019-11-01 11:47:05 694

原创 Unity3D射线检测

射线检测主要用于像子弹是否打中物体,捡取物品等情况,本来面向百度想找例子看看, 不过没找到合适的,还是自己总结尝试吧。以下测试Unity3D版本:2017.4.2f2射线的检测步骤如下:1.Ray这个类为了产生一个射线,如果我们想要场景中某个物体产生一个射线,只需要定义一个ray,给予一个初始位置,以及方向便可以了。public Ray(Vector3 origin, V...

2019-10-25 14:26:51 939

原创 二叉树多种遍历的时间复杂度和空间复杂度

遍历通常分为前序遍历、中序遍历、后序遍历、层序遍历四种情况。对于遍历方式只是打印顺序而已,所以四种遍历复杂度均相同。1.非递归遍历(辅助栈)时间复杂度:O(N)空间复杂度:O(N)由于每个节点都要进栈和出栈,所以时间复杂度为O(N),同样空间复杂度也为O(N),N为结点数。2.递归遍历时间复杂度:O(N)空间复杂度:O(N)递归实现的本质也是系统...

2019-10-23 17:19:12 35125

原创 STL——map、set等红黑树结构的最后一个元素

map、set等背后由于红黑树的关系,插入元素后便成为“平衡”搜索树了,所以末尾元素默认为最大值,得到该值的方法:1. 利用 rbegin() 反向迭代器int main(int argc, char *argv[]){ map<int,int>ans; ans.insert(pair<int, int>(2,0)); ans.inser...

2019-10-22 21:30:51 2173

原创 error: “自定义函数XXX” must take exactly one argument

主要问题在于,类里面的重载的二元运算符时, 只需要一个参数,另一个参数由this指针传入,这里如果需要传入两个参数,需要放到类外定义,声明友元(访问私有数据和函数)。如下:class myTask{public: myTask(int a, int b):c(a),p(b){} //类内重载只需要一个参数,所以需要友元;而不声明友元则无法访问私有成员 fri...

2019-10-09 08:34:42 8158

原创 STL——set常见用法

1.头文件#include<list>;2.定义经常使用的如下:set<int> s1; //创建空的set set<int> s1(s2); //利用set对象s2,拷贝生成3.常用操作函数3.1.set长度set<int> s1;int len = s1.size(); /...

2019-10-04 22:31:22 395

原创 荷兰国旗问题(快排改进——随机快排)

目录荷兰国旗问题快排改进(随机快排)荷兰国旗问题描述 荷兰国旗有三种条纹构成,自上到下条纹的颜色依次为红、白、蓝。现有若干红、白、蓝三种颜色的条纹序列,要将它们重新排列使所有相同颜色的条纹在一起。本问题要求将所有红色的条纹放最上边、所有白色的条块放中间、所有蓝色的条纹放最下边。(如下所示)实际上可以把题目简化为编程题目:给定一个数组arr,和一...

2019-10-02 21:59:27 343

原创 数组(vector)对数器——C++

对数器的概念和作用见这篇文章:https://blog.csdn.net/weixin_42513339/article/details/101779755花了点时间写了vector和数组的对数器,个人觉得代码还能优化,这里先贴下#include <iostream>#include<cstdlib>#include<ctime>#in...

2019-10-02 15:27:33 269

原创 递归复杂度公式

记录下笔记Master公式Master公式是常用来解决递归问题时间复杂度的通用公式。公式可以直接记为:T(N) = a*T(N / b) + O (N^d)然后按照下表对应计算复杂度即可:条件 时间复杂度 log(b,a) < d O(N ^ d) log(b,a) > d O(N ^ log(b,a)) log(b,a) = ...

2019-09-30 20:34:25 3989

原创 对数器

记录下笔记。对数器的概念和作用对数器主要用来测试自己写的程序是否完全正确。该方法通过大量的随机数据进行验证。有时候做算法题可能无法短时间内,或者很难推导出正确的数学式子(比如贪心算法),来验证自己算法的正确,这时候就需要大量的随机样本进行测试验证。对数器的使用方法有一个你想要测的方法a; 实现一个绝对正确但是复杂度不好的方法b; 实现一个随机样本产生器;(程序1) 实现...

2019-09-30 17:15:27 217

Unity3D插件SteamVR(旧版本1.2.3)

SteamVR(旧版本1.2.3),完美适应LaserPoint等接口,由于SteamVR2.0 版本一些接口的删除,所以只好打包一个旧的版本出来

2018-12-26

OpenGL编程指南(红宝书第八版)中文电子书(带源码带库文件)

包含清晰电子书和源代码,《Open GL编程指南(原书第8版)》对OpenGL以及OpenGL实用函数库进行了全面而又权威的介绍,素有“OpenGL红宝书”之誉。

2018-09-27

空空如也

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

TA关注的人

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