Boost
Boost之正则表达式Regex库的使用方法
# include <iostream> # include <stdio.h> class A { public: A() :i(10) { } virtual void f() { std::cout <
搜索二叉树
51CTO博客开发CowNew开源团队周金根永远的朋友肖舸的blog李华明Himi极致书生滴水穿石51CTO安全博客云计算架构师-解占辉驿落黄昏Domingo Luis的博客空间aha45李晨光原创技术博客李云学习文档肖凡的专栏菜鸟浮出水棕榈烧酒叶伟(魔教教主)实践检验真理马哥教育林肯百家旗下百晓生转身离开-王军dong4716138圣殿骑士坐看云起Keep it simple.plum blos
今天我们来分析QueryInterface函数。HRESULT CDictionary::QueryInterface(const IID& iid, void **ppv) { if(iid == IID_IUnknown) { *ppv = (IDictionary*)this; ((
(分布式组件对象模型)是一系列微软的概念和程序接口,利用这个接口,客户端程序对象能够请求来自网络中另一台计算机上的服务器程序对象。DCOM基于组件对象模型(COM),COM提供了一套允许同一台计算机上的客户端和服务器之间进行通信的接口(运行在Windows95或者其后的版本上)。 DCOM(分布式组件对象模型,分布式组
用面向对象思想实现时钟C++描述的实例代码:# include <iostream> # include <time.h> # include <iomanip> # include <windows.h> //# include <unistd
做为一名分布式服务器开发人员,在服务器开发领域、多线程开发和并发编程方面有自己的心得和经验,愿意分享给同仁,今讨论下Windows下线程并发程序开发。下面用用两个线程实现一个简单的数组排序,演示了线程的基本用法。原理是:为了节省执行时间而添加并行,把问题划分为几个小问题,并分配给几个线程(分而治之),把问题划分成若干更小的单元,更容易在实现中创建并行逻辑。同时,在并行中使用系统资源能优化应用程序并
在程序界,有句话是,程序好些,bug难调。很多bug并不一点是逻辑错误,而是一些细节问题。我们分析下三个细节错误引起的无法运行问题://#define M_PI 3. 14159265358979323846 3.14中间有个空格\t &nb
Lua 数据库访问本文主要为大家介绍 Lua 数据库的操作库:LuaSQL。他是开源的,支持的数据库有:ODBC, ADO, Oracle, MySQL, SQLite 和 PostgreSQL。LuaSQL 可以使用 LuaRocks 来安装可以根据需要安装你需要的数据库驱动。Window 下安装 LuaRocks:https://github.com/keplerproje
面向对象特征1) 封装:指能够把一个实体的信息、功能、响应都装入一个单独的对象中的特性。2) 继承:继承的方法允许在不改动原程序的基础上对其进行扩充,这样使得原功能得以保存,而新功能也得以扩展。这有利于减少重复编码,提高软件的开发效率。3) 多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。4)抽象:抽象(Abstra
Lua 错误处理程序运行中错误处理是必要的,在我们进行文件操作,数据转移及web service 调用过程中都会出现不可预期的错误。如果不注重错误信息的处理,就会照成信息泄露,程序无法运行等情况。任何程序语言中,都需要错误处理。错误类型有:语法错误运行错误=================================================================错误处理我们可
Lua 文件 I/OLua I/O 库用于读取和处理文件。分为简单模式(和C一样)、完全模式。简单模式(simple model)拥有一个当前输入文件和一个当前输出文件,并且提供针对这些文件相关的操作。完全模式(complete model) 使用外部的文件句柄来实现。它以一种面对对象的形式,将所有的文件操作定义为文件句柄的方法简单模式在做一些简单的文件操作时较为合适。但是在进行一些高级的文件操作
什么是协同(coroutine)?Lua 协同程序(coroutine)与线程比较类似:拥有独立的堆栈,独立的局部变量,独立的指令指针,同时又与其它协同程序共享全局变量和其它大部分东西。协同是非常强大的功能,但是用起来也很复杂。线程和协同程序区别线程与协同程序的主要区别在于,一个具有多个线程的程序可以同时运行几个线程,而协同程序却需要彼此协作的运行。在任一指定时刻只有一个协同程序在运行,并且这个正
Lua table(表)使用表来统一表示Lua中的一切数据,是Lua区分于其他语言的一个特色。这个特色从最开始的Lua版本保持至今,很大的原因是为了在设计上保持简洁。Lua表分为数组和散列表部分,其中数组部分不像其他语言那样,从0开始作为第一个索引,而是从1开始。散列表部分可以存储任何其他不能存放在数组部分的数据,唯一的要求就是键值不能为nil。尽管内部实现上区分了这两个部分,但是对使用者而言却是
Lua 数组数组,就是相同数据类型的元素按一定顺序排列的集合,可以是一维数组和多维数组。Lua 数组的索引键值可以使用整数表示,数组的大小不是固定的。array = {"Lua", "Tutorial"} for i= 0, 2 do print(array[i]) endfor循环模式开始
import java.util.*; public class HashTableDemo { public static void main(String[] args) { &nb
/* * Java进程与子进程交互 * */ public class RunyimeDemo { public static void main(String[] args) { &nb
import java.util.*; public class SystemInfo { public static void main(String[] args) {
栈属于数据结构,它本质上属于线性表,只是受限的线性表。 我们今天来讨论下动态栈也就是链栈的相关问题。 &
在群里面看到教父发的任务,从Google play商店下载CraftAR软件,我欣然接受了,需求分析:从Google play商店下载CraftAR软件的Apk文件但是很郁闷,我从来木有从Google play商店下过apk,脸上冒汗,又不能直说自己不行,没办法,抓紧找Google和度娘,是不是很多人接到新任务的时候都这样呢?对于Google play商店下载apk木有做过,这就意味这,这是一个全
递归是我们在学习编程中,必须要去学习的,虽然递归晦涩难懂 ,但是很多时候,递归的思想会很有用,但是在实际开发中,不建议使用递归,要用循环来代替递归,不然bug无穷。-----------------------------------------------------------问题描述:有5个人坐在一起,问第5个人,他说比第4个人大2岁,问第4个人,他说比第3个人大2岁,问第3个人,他说比第2
一、简介我们在学习C++的过程中,学到STL是必然的,那么STL的入门就是vector了。vector是同一种类型的对象的集合,vector很像数组,空间是连续的,能非常高效和方便的访问单个元素,但是它支持动态增加和压缩数据,所以这是矛盾的,这个问题,我们会在后期的STL源码的分析中来讲解vector的内部实现。vector 是一个类模板(class template)。使用模板可以编写一个类定义
设计模式思想是可重用,我们在编程的过程中,或多或少都会接触到设计模式,只是,有时,我们相交却未相识罢了,那么我们今天来讲解单例模式,并且附之一个C++的编程技巧。我们知道单例模式在实际开发过程中是很有用的,单例模式的特征我们可能都知道:1、一个类只有一个实例2、提供一个全局访问点3、禁止拷贝我们来逐个分析:1、如果要实现只有一个实例,我们需要做的事情:a、将构造函数声明为私有2、提供一个全局访问点
在C语言中,我们都知道字符串是永恒的话题,字符串含有很多地雷,你稍不留心就会被砸到,比方说,字符串的结尾是'\0',也是占一个字符空间的,那么如果我们在利用strcpy拷贝字符串的时候,应该多加1个字符空间,就是专门留给这个'\0'的。如果我们不多加一个字符空间,会发生致命的错误,那么我们通过案例来说明。-------------我是分割线------------------# incl
C++作为一种面向对象的语言,其面向对象的思维,我觉得非常重要,一直都在研究汇编和C语言,没有对象的观念,但是C++里面,对象思维,抽象思维其实是很有意思的,而且很有意义。今天,我们来分析学习对象数组,对象数组从名字上分析,就是存放对象的数组,可能对于初学者来说,这是一个新词,但是对象数组很有用。我们假设,学生是对象,对象的属性有ID和Score,那么如果班级里面有100个学生,那么每个对象都要用
对于拷贝构造函数,我前面的博文有提起过,不过,有的时候,浅拷贝和深拷贝真的很难理解,所以,我们再进行关于拷贝构造函数的一些讨论。大家都整到拷贝构造函数分为浅拷贝和深拷贝,系统默认的拷贝构造函数是浅拷贝。默认拷贝构造函数以内存拷贝的方式将旧有对象的内存空间拷贝到新对象的内存空间。如果类中有指针类型的类型的时候,默认拷贝构造函数只能复制指针属性的值,而不能复制指针属性所指向的内存,此时,如果我们自己不
在学C/C++的时候,我们都会了解到一级指针,int* i = NULL; 和二级指针int ** pp = NULL; 但是具体的一些应用我们可能很难理解,如果我们要取int*的地址,我们就需要int**,这是因为指针传递本质上还是值传递,本质很难理解,我们通过实例说明。在实际的开发过程中,究竟如何使用二级指针呢?在这里,我们通过形参采用二级指针来修改实参的例子。我们做的这个例子是
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号