13 sukhoi27smk

尚未进行身份认证

我要认证

学习是为了探索这个世界的本质

等级
TA的排名 759

flex 正则表达式匹配规则

正则表达式扫描的优先级 1. 先根据空格,tab,回车分割字符串,作为正则表达式匹配的基础 2. 找到完全匹配的正则表达式,以排列在前面的优先级为高 3. 如果找不到匹配的表达式,那么从头开始截取字符串来查找合适的正则表达式 例子: 2000meter 如果有以下两个正则表达式:2000meter会匹配2号正则表达式,因为2号完全匹配。 1. ([0-9])+|([0-9]+\.[0-9]+) 2. [A-Za-z0-9_]+ ...

2020-10-21 16:41:28

C++ Lambda表达式基本用法

创建一个匿名函数并执行。采用的是配对的方括号[]。实例如下: 1 2 3 4 5 6 7 8 9 #include <iostream> using namespace std; int main() { []{ cout << "Hello,Worldn"; }(); } 我...

2020-10-12 15:48:13

std::forward()完美转发

#include <iostream>#include <string>using namespace std;template<typename T>void print(T& t) { cout << "lvalue" << endl;}template<typename T>void print(T&& t) { cout << "rvalue" << endl;.

2020-10-10 19:00:58

std::move与右值引用

#include <iostream>#include <string>using namespace std;class Test{public: Test() { m_str = new char[10]; strcpy_s(m_str, 5, "abcd"); cout << "Test Constructor" << endl; } Test(const Test& other) { m_str = n.

2020-10-10 17:58:59

UE中文乱码问题

2020-10-09 16:04:11

UE4打包后如何调试

在项目打包后发现有一个数组越界问题,然而无论是 Play in Editor或是 VS选为DebugGame后启动,游戏都没有任何问题,越界问题只在打包后出现。这里记录一下自己的Debug方法。首先将项目以DebugGame配置打包:更改打包配置,也可以在Project Settings中更改如果不是这个配置打包,打包后程序可能发生优化,对debug造成麻烦。运行打包成功后生成的程序,然后Ctrl+Shift+Esc打开任务管理器,找到程序右键选择调试OK之后会打开一个.

2020-09-30 15:10:59

Boost.Python实现Python C/C++混合编程

导出函数#include<string>#include<boost/python.hpp>using namespace std;using namespace boost::python;char const * greet(){ return "hello,world";}BOOST_PYTHON_MODULE(hello_ext){ def("greet", greet);}import hello_extprint hello_

2020-09-28 10:26:42

STL内嵌数据类型: value_type

使用stl库的时候一直对value_type这个东西理解的不是很好,可以说就是不理解。今天看了《STL源码剖析》才恍然大悟。这里稍作记录。每个STL中的类都有value_type这种东西,通俗的说value_type 就是stl容器盛装的数据的数据类型,例如:vector<int> vec;vector<int>::value_type x;上述两句代码,第一句是声明一个盛装数据类型是int的数据的vector,第二句是使用vector<int>::val

2020-09-23 09:25:25

C++可变参数模板

可变参数模板是一个接受可变数目参数的模板函数或模板类,在模板参数列表中,typename…指出接下来的参数表示0个或多个类型的列表,一个类型名后面跟省略号表示0个或多个给定类型的非类型参数的列表。在函数参数列表中,如果一个参数的类型是一个模板参数包,则此参数也是一个函数参数包。可变参数模板通常是递归的,第一步调用处理包中的第一个实参,然后用剩余实参调用自身, sizeof…运算符可以获得包中元素数量。template <typename T>void printValue(const

2020-09-22 17:22:27

行为树

行为树(Behavior Tree),有4大类型的Node:(1)Composites Node 组合节点,包括经典的:Sequence,Selector,Parallel* Selector Node 当执行本类型Node时,它将从begin到end迭代执行自己的Child Node: 如遇到一个Child Node执行后返回True,那停止迭代, 本Node向自己的Parent Node也返回True;否则所有Child Node都返回False, 那本No...

2020-09-21 15:24:13

依赖倒置原则

定义依赖倒置?大家可能会觉得高深莫测。但是相信听我一翻解说之后,你就会恍然大悟,甚至你早已掌握到它的精髓了。我们先看一下依赖倒置原则的定义:High level modules should not depend upon low level modules. Both should depend upon abstractions. Abstractions should not depend upon details. Details should depend upon abstractio

2020-08-19 10:47:09

接口隔离原则

定义接口隔离原则(Interface Segregation Principle, ISP),定义为:Clients should not be forced to depend upon interfaces that they don’t use. (客户端不应该依赖它不需要的接口。) The dependency of one class to another one should depend on the smallest possible interface. (类间的依赖关系应该建

2020-08-19 10:25:11

正则表达式中^的用法

用法一: 限定开头 文档上给出了解释是匹配输入的开始,如果多行标示被设置成了true,同时会匹配后面紧跟的字符。 比如 /^A/会匹配"An e"中的A,但是不会匹配"ab A"中的A用法二:(否)取反 当这个字符出现在一个字符集合模式的第一个字符时,他将会有不同的含义。 比如:/[^a-z\s]/会匹配"my 3 sisters"中的"3"这里的”^”的意思是字符类的否定,上面的正则表达式的意思是匹配不是(a到z和空白字符)的字符。总结:什...

2020-08-17 08:29:36

MFC工具栏增加EditBox和Button

1. 在资源视图中增加EditBox, Button控件,ID分别为ID_EDIT_SEED, ID_BTN_SEED2. 在CMainFrame中增加成员变量CMFCToolBarEditBoxButton *m_editSeed;CMFCToolBarButton *m_btnSeed;3. 在CMainFrame::OnCreate中创建控件m_editSeed = new CMFCToolBarEditBoxButton(ID_EDIT_SEED, GetCmdMgr()-&.

2020-07-16 12:43:05

UE4 插件大坑

正常如果在工程中创建C++类,UE4都会自动给类前面添加一个“工程名_API”的宏,但是插件中的C++类不会添加。这样如果在主工程C++中调用插件中的C++类就会报链接错误,因此需要自己手动添加“插件名_API”这个宏。...

2020-07-10 18:22:02

rapidxml在qt linux(gcc)下写xml文件出错

在linux(gcc)下使用qt写入xml出错,代码如下:错误如图:这里写图片描述在网上找了好久没有找到答案,最后在http://stackoverflow.com/questions/14113923/rapidxml-print-header-has-undefined-methods找到了答案在rapidxml_print.hpp的第104行以后加上一些内容就好,template<class OutIt, class Ch>inline OutIt print_child

2020-06-23 13:52:35

C++调用matlab dll

1. 编写matlab函数2. 命令行输入mex -setup选择 mex -setup C++3. 命令行输入mbuild -setup选择mex -setup C++ -client MBUILD4. 命令行输入mcc -W cpplib:add -T link:lib add.m -C第一个add为生成的dll名称,第二个add为m文件名称,m文件名称需要和m文件里面函数名称一致,如果用Add这样的大写开头名称,会出现生成的C++头文件函数名为ad...

2020-06-18 18:32:07

MATLAB 求曲线长度

1. 求曲线长度积分公式2. 已知曲线方程3. 已知系数,曲线方程为y = 0.0001 * x³ + 0.0005 * x² + 204. 已知曲线的x的起点和终点-90.78 ,90.785. matlab中定义曲线方程>> syms x;>> y = 20 + 0.0005 * x ^ 2 + 0.0001 * x ^ 3;6. matlab中求解曲线方程微分>> z = diff(y,x)z =(...

2020-06-18 10:44:41

计算曲线的长度

若一条平面曲线可表达成标准方程那么它的长度就是:其中a、b为x的上下限。若平面曲线可表达成参数方程那么它的长度就是:

2020-06-15 09:25:45

Project vector on to vector

2020-04-01 10:21:45

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。