- 博客(43)
- 收藏
- 关注
原创 Mobaxterm 使用上传下载中断 rzsz
在目标linux上安装yum install -y lrzsz右键设置查看Settings -> Terminal -> Paste using right-click被勾选 下面按键要加上Ctrl;否则直接右键窗口就行上传【Ctrl+】右键 -> Send file using Z-modem传出文件到/下载sz xxx【Ctrl+】右键 -> Receive file using Z-modem中断rzszC...
2021-04-23 20:55:31
3153
原创 lua类与继承
类lua写类的时候成员变量和成员函数不能取名相同,不然会被覆盖找不到查看成员函数是否存在可以 print(类.成员函数名)Test_Class = {}Test_Class.__index = Test_Classfunction Test_Class:create() local o = {} setmetatable(o, self) o.name = nil o.age = nil retu...
2018-06-10 21:46:10
666
原创 lua regex
lua自己实现非标准regex/////////////////////////////////////////////////////////////////////////////////////////////////////begidx, endidx, substr... string.find(s, pattern [, init [, plain]])功能:查找目标模板在给定字符串中...
2018-06-10 21:44:54
1265
原创 lua基础
lua基础看这一篇基本就够了,文章有点长,需要耐心慢慢看基于《lua程序设计2nd》1.开始以Lua5.1版本为例星期几(周日→周六 1-7) 美国人以周日为一周的开始,所以c语言以0表示周日,而lua是从1开始的,所以1表示周日local date = os.date("*t")print(date.wday)从一个简单的阶乘开始print(_VERSION) --输出Lua的版本func...
2018-06-10 21:34:11
402
原创 使用emacs24 elpa包管理器
时间过到很快就要到2017,最近使用emacs变的更多一点,在网上参考了很多大牛的配置,自己在github上也上传了一个配置,主要是方便同步和下载且有版本管理功能。这里附上地址:https://github.com/anonymou3/emacs.d配置是基于 https://github.com/redguardtoo/emacs.d.git,同时参考了 https://gith
2016-11-01 10:04:05
2543
原创 vs2010 数据库文件.sdf出错
情景再现:1.创建工程时创建c++浏览数据库文件xxx.sdf时发生错误Intellisense和浏览信息将不能用于c++项目2.打开工程时创建或打开C++浏览数据库文件xxx.sdf时发生错误.intelisense和浏览信息将不能用于C++项目.请确保已安装microsoft sql server compact 3.5 并且没有其他应用程序正在访问文件.如果问题仍然存在,
2013-02-25 21:40:08
3484
原创 4.shared_ptr
shared_ptr简介scoped_ptr虽然简单易用,但它不能共享所有权的特性却大大限制了其使用范围,而shared_ptr可以解决这一局限。顾名思义,shared_ptr是可以共享所有权的智能指针//Form vs2010 header #include //// include auto_ptr shared_ptr weak_ptr unique_ptr in v
2013-01-02 00:58:31
1104
转载 3.weak_ptr
weak_ptr循环引用:引用计数是一种便利的内存管理机制,但它有一个很大的缺点,那就是不能管理循环引用的对象。一个简单的例子如下:#include #include #include #include class parent;class children;typedef boost::shared_ptr parent_ptr;typed
2013-01-02 00:46:27
598
转载 2.scoped_ptr
boost::scoped_ptr和std::auto_ptr非常类似,是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放。下列代码演示了该指针的基本应用:#include #include #include class implementation{public: ~implementation() { std::c
2013-01-02 00:43:30
549
原创 1.auto_ptr
auto_ptr简介auto_ptr一个对象只有一个拥有者(一个萝卜一个坑,两个auto_ptr不能同时拥有同一个对象)注:对于智能指针可以参看《Beyond the C++ Standard Library:An Introduction to Boost》、《boost_1_41_0_doc》地址:http://code.google.com/p/boost-doc
2013-01-01 23:49:33
799
原创 Chapter 30.类成员指针、嵌套类、局部类、联合、固有不可移植特征
类成员指针简介有时我们可能需要类中成员的指针(static明显不算,这个不是类成员),这就是类成员指针,分为两种,类数据成员指针和类成员函数指针eg://ClassMemberPointer.h#ifndef __CLASS_MEMBER_POINTER__#define __CLASS_MEMBER_POINTER__#include #include class S
2012-12-27 21:27:49
677
原创 Chapter 29.优化内存分配
简介C++中,内存分配和对象构造是一起的(new所做的工作就是为特定类型分配内存,并在新分配的内存中构造该类型的一个对象 ),但我们有时想自己管理内存分配、对象构造,即把内存分配和对象构造分离开来eg:如stl中vector会预分配一定额外内存,但不进行构造,因为对没有使用的内存构造对象是很浪费的,可能用永远不使用这部分额外的内存,所以内存分配和对象构造有时就需要分离开来alloc
2012-12-27 20:39:25
665
原创 _MSC_VER、_WIN32_WINNT
#if defined(_MSC_VER)/* Disable MSVC 'sprintf unsafe' warning */#pragma warning( disable : 4996 )#endif #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 _MSC_VER
2012-12-26 23:22:44
1947
原创 Chapter 28.命名空间、多重继承和虚继承
命名空间using声明eg:using std::list;//推荐using指示eg:using namespace std;防止命名空间污染,可不连续eg:namespace [NameSpaceName]{ //自成一域,在[NameSpaceName]这个命名空间中}命名空间可嵌套内部的成员会把外部的同名成员屏蔽eg:namespace
2012-12-26 23:18:41
581
原创 Chapter 27.异常处理
异常处理Google不推崇异常处理,在构造函数中可以用返回值的init()函数替代,至少我也不喜欢异常处理,这里讲的简略一直没有注意,好像我用的引擎cocos2d-x也是有点google编码风格在里面eg://test中的例子 testBasic.cppTestScene::TestScene(bool bPortrait):m_bPortrait(bPortrait){
2012-12-26 22:40:48
785
原创 Chapter 26.模板与泛型编程
概述模板是泛型编程的基础面向对象编程是运行时多态,而泛型编程是编译时多态模板是在编译时编译器可以自动实例化的函数模板template //关键字class比较老,typename后来加入C++//因为相对来讲template是不怎么常用的编程,所以returnValue function(parameter);inline函数模板template
2012-12-15 18:16:20
759
原创 Chapter 25.面向对象编程
面向对象思想抽象 继承 封装 多态(动态绑定) java/c++动态绑定通过基类引用或指针调用虚函数时,发生动态绑定这里说明了动态绑定的两个条件1.调用函数为虚函数2.只有基类引用或指针来调用时,从这点上讲C++还不能完全支持面向对象编程,还要用指针和引用来实现引用或指针可以指向基类对象也可以指向派生类对象,这一事实是动态绑定的关键由被调用的引用或指针的实际类型
2012-12-15 17:35:27
535
原创 Chapter 24.重载操作符与转换
概述重载操作符是C++为类专门设计的一种机制,可以使类对象像内置类型一样的使用四个不能重载的运算符.类成员运算符.* 成员指针运算符:: 域解析运算符?: 条件表达式运算符重载的一些要求1.重载后的运算符与原先运算符的形参数、操作数数目、优先级、结合性要一致2.不能重载c++中不存在的运行符3.重载操作符必须有一个类类型或者枚举类型的操作数4.+、-
2012-12-15 17:16:57
871
转载 详细解说 STL 排序(Sort)
转自:http://www.cppblog.com/mzty/archive/2005/12/15/1770.html一切复杂的排序操作,都可以通过STL方便实现 !0 前言: STL,为什么你必须掌握对于程序员来说,数据结构是必修的一门课。从查找到排序,从链表到二叉树,几乎所有的算法和原理都需要理解,理解不了也要死记硬背下来。幸运的是这些理论都已经比较成熟,算法也基本固定
2012-12-08 18:17:02
645
原创 C++中内存分配方式
看了bs的c++程序设计语言和c++编程思想中所述c++内存还是分为三部分通常这三部分经常被放在一块连续的物理存储单元中,但是这也是由编译器开发者决定它们的顺序1.静态存储区域2.栈,创建自动对象3.堆/自由存储单元,在其上分配的内存称为动态内存分配旧的C malloc、calloc、realloc、free新的C++ new、deleteeg:int main(
2012-12-02 00:24:22
697
原创 tips
这一章将不定时的增加小tips或者小总结,内容不定tips1:strlen strcpy sizeof 小结//C语言函数有的就是控制要精细,当然没有包括sizeof运算符strlen 计算字符串到'\0'不包含'\0'的字符长度strcpy 复制字符串到'\0'包含'\0'的字符sizeof 求的是内存字节数,是一个对象所占的内存,只要看清楚对象是什么东东,就可方
2012-12-01 16:14:15
740
原创 Chapter 23.复制控制
复制控制复制控制包括复制/拷贝构造函数、赋值操作符、析构函数1.复制/拷贝构造函数(copy constructor) - 控制复制接受单个本类类型对象的引用形参(常用const修饰)作用:1.根据另一个同类型的对象显式或隐式初始化一个对象//使用的是copy-initialization → =eg:string nullBook="9-999-99999-9"/str
2012-12-01 15:58:43
840
原创 Chapter 21.类简介
类类的简单定义:自定义的一个新类型和一个新作用域构造函数特殊成员函数,创建类类型的新对象都会执行。其工作就是保证每个对象的数据成员具有合适的初始值其不能有返回值,可有0个或者多个不同形参:无形参(或者形参全都有默认实参)的构造函数叫默认构造函数初始化方式:1.构造函数初始化列表,一般应顺序初始化数据成员constructor::constructor(const str
2012-12-01 15:33:58
456
原创 Chapter 20.简单的erase后迭代器失效处理
顺序容器erase失效处理对vector、list、deque都适用//method 1.for(auto iter = iVec.begin(); iter != iVec.end();){ if(*iter == 100) { iter=iVec.erase(iter); //iter返回的是erase位置处的下一个元素的迭代器 } else {
2012-11-19 20:32:14
627
原创 Chapter 19.C++中的迭代器类型
插入迭代器front_inserter(c)//list、dequeback_inserter(c)//vector、list、dequeinserter(c,c_iter)//在c的c_iter处插入front_insertercopy(c.begin(),c.end(),front_inserter/back_inserter(insert_container));bac
2012-11-19 13:24:12
675
原创 Chapter 18.正则表达式库regex
正则表达式关于正则表达式就不多做介绍了,vs2010中就已经支持这个c++的新特性,使用时可加入头文件regex,同时其被加入了std命名空间#include 下面就简单的介绍regex类的三个成员函数,同时对于regex迭代器的用法就不多说了,用到时再总结添加1.regex_match尝试匹配正则表达式的整个字符序列/*iter BidirectionalIter
2012-11-17 22:31:36
1877
原创 Chapter 17.关联容器multimap
multimap简介与map类似,但是允许不同的mapped_value拥有相同的key_value,实际应用,一个人拥有多个QQ、邮箱、电话号码等与map的区别在于,insert()一定会插入值;erase(element_value)即version 1,会删除所有相同元素值的元素multimap模板template , class Allocator
2012-11-06 22:09:22
529
原创 Chapter 16.关联容器multiset
multiset简介multiset与set类似,但是其允许相同的值,应用举例:比如求某个范围内的最大最小值(值可以重复)与set的区别在于,insert()一定会插入值;erase(element_value)会删除所有相同元素值的元素multiset模板template , class Allocator = allocator > class mult
2012-11-06 21:58:31
616
原创 Chapter 15.关联容器map
map简介map是一个关联容器,map中的每一个值是一个由key value和一个mapped value组成的,通过key value来索引mapped value,以便有效的访问mapped value在内部,map里的元素总是以从低到高的一个特定的严格的弱序标准排序map的特点1.在同一个map中key value是唯一的2.元素值由key value和mapped va
2012-10-10 21:43:02
823
原创 Chapter 14.关联容器set
set简介set是存储唯一元素的一类关联容器,元素就是key关联容器是通过key有效的访问元素而特别设计的,不像顺序容器,顺序容器是通过相邻或者绝对位置来更有效的访问元素在内部,set里的元素总是以从低到高的一个特定的严格的弱序标准排序set是以一棵典型的二叉搜索树来实现的set的特点1.唯一的元素值,在同一个set里面不可能出现两个元素相同2.元素值就是key,以ke
2012-10-10 21:20:24
597
原创 Chapter 13.特殊容器string
string简介string对象是一个特殊类型的容器,被设计用来操作字符串与传统的c-string不同,传统的c-string是一个字符数组,而string对象属于一个类,类里面实现了大量的成员函数来更直观地操作字符串,同时很多有用的方法与C++容器都有相同的接口string类是basic_string类模板的一个实例,在中定义如下:typedef basic_string s
2012-10-08 23:32:15
760
原创 Chapter 12.特殊容器bitset
bitset简介bitset是一个特殊的容器用来存储位的状态,元素只可能是0、1或者true、falsebitset这个类非常类似一般的数组,但是被优化为一个元素只用1个位来存储,但是因为C++环境中不存在这么小的类型,所以用最小的bool类型来模拟bitset可以随机访问,即支持下标访问Constructor1.bitset ( );2.bitset ( unsi
2012-09-18 00:24:59
1046
原创 Chapter 11.顺序容器forward_list[c++11]
前向链表简介前向链表是用单链表实现的,可在常量时间内在链表中做插入或删除操作list比之forward_list,双向链表要消耗额外的空间存储每个元素和在插入和删除元素时一个轻微的更高的时间开销,所以forward_list更有效率,虽然只能向前遍历。forward_list是唯一的标准容器中故意不给出size()成员函数的,这样是为了更高效而考虑,可以用distance(c.
2012-09-18 00:09:16
6023
原创 Chapter 10.顺序容器array[c++11]
array[c++11]简介array是一个固定大小的顺序容器,不能动态改变大小,array内的元素在内存中以严格的线性顺序存储与普通数组声明存储空间大小[]的方式是一样有效的,只是加入了一些成员函数和全局函数[get (array)、operators (array)],以便当作标准容器使用零大小的array是有效的,但是不可以被成员函数front、back、data间接引用
2012-09-15 22:33:56
2522
原创 Chapter 9.容器适配器stack、queue、priority_queue
容器适配器简单的讲就是在已有的顺序容器上面实现的接口,可以方便的使原有的顺序容器有一个新的数据结构适配器没有提供迭代器,也不能同时插入或删除多个元素简介stack 栈(LIFO类似叠放在一起的盘子的取出和放入)queue 队列(FIFO类似小朋友排队进动物园)priority_queue 优先队列(最大堆heap)构造函数stack
2012-09-13 23:45:12
1554
原创 Chapter 8.顺序容器deque
deque简介deque被实现为双端队列,由多个连续内存块构成,deque是list和vector的兼容,分为多个块,每一个块大小是512字节,块通过map块管理,map块里保存每个块得首地址。因此该容器也有索引操作operator[ ],效率没vector高。,同样的也可以通过[]、at()来随机访问元素,所以在实现上面deque不保证在内存中以严格的连续地址存放,所以实现上面比
2012-09-13 23:36:50
609
原创 Chapter 7.顺序容器list
list简介list被实现为双向链表,list在内存中元素是存放在不同且无关的地址上的,以一个元素为例,通过消耗一些额外的内存保存着两个关联,即前一个元素的关联[如果此元素为第一个元素则关联为空]和下一个元素的关联[如果此元素为最后一个元素则关联为空],可以通过迭代器访问tips: list的成员函数 remove、unique修改了其关联的基础容器,与泛型算法不同,而me
2012-09-13 23:20:51
648
原创 Chapter 6.顺序容器vector
vector简介vector类似C++内置数组,其元素在内存中连续存放,可以通过迭代器和下标进行随机访问,vector被实现为动态数组,还可以方便的实现自动增长[push_back()/insert()...]和自动缩小[resize()...]等vector的优点1.可以通过[]/at()来实现随机访问元素2.可以通过迭代器以多种顺序来遍历各元素3.可以高效的通过pu
2012-09-12 23:02:54
653
原创 Chapter 5.IO
简单的IO类继承层次结构图简化一下,字母后都省略一个单词stream很简单的继承关系istream、ostream作为基类istream 派生出 ifstream、istringstream ; ostream 派生出 ofstream、ostringstream同时由 istream与ostream 共同派生出 iostreamiotream 派生出 fstr
2012-08-27 00:20:38
986
原创 Chapter 4.表达式、语句、函数
表达式、语句、函数表达式sizeof操作符作用:获取类型长度格式: sizeof (typeName);sizeof (expr);sizeof expr;sizeof结果: char类型或值为char类型的表达式,sizeof保证得1 引用类型做sizeof返回存放此引用类型对象所需的内存空间大小 指针做siz
2012-08-16 23:19:36
975
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人