C++
后街男孩
busy
展开
-
Boost智能指针——weak_ptr vs shared_ptr
本文转自:点击打开链接循环引用:引用计数是一种便利的内存管理机制,但它有一个很大的缺点,那就是不能管理循环引用的对象。一个简单的例子如下:#include#include#include#includeclass parent;class children;typedef boost::shared_ptr parent_ptr;type转载 2012-07-14 20:36:16 · 766 阅读 · 0 评论 -
C++异常层次
本文以《C++ primer》(中文第四版)中的一副图,来简要说明C++标准异常的继承层次:原创 2012-08-11 22:41:52 · 529 阅读 · 0 评论 -
C++中句柄类小结
本文转自:点击打开链接句柄类,也就是handle class,是C++中的一种重要的面向对象方法,其作用有两条:1. 减少头文件的编译依赖关系,让文件间的编译更加独立;2. 增加系统安全性,把类的实现细节和声明完全的分离开,让类的实现细节对于用户完全的不可见,增加信息的安全性。 句柄类实际我在很多代码中都见过,一些标准化的代码几乎全都用句柄类来实现,而原因正是以转载 2012-08-10 15:35:23 · 1040 阅读 · 0 评论 -
设计模式C++实现——策略模式
本文转自:点击打开链接 软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。转载 2012-08-10 12:19:59 · 811 阅读 · 1 评论 -
设计模式C++实现——工厂模式
本文转自:点击打开链接 软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。转载 2012-08-09 23:25:08 · 819 阅读 · 0 评论 -
C++指针探讨 函数对象
本文转自:点击打开链接函数对象不是函数指针。但是,在程序代码中,它的调用方式与函数指针一样,后面加个括号就可以了。 这是入门级的随笔,说的是函数对象的定义,使用,以及与函数指针,成员函数指针的关系。 沐枫小筑函数对象实质上是一个实现了operator()--括号操作符--的类。例如:class Add{public: int ope转载 2012-08-08 23:10:42 · 710 阅读 · 0 评论 -
C++——extern关键字用法
1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗? 答案与转载 2012-07-22 22:20:04 · 717 阅读 · 0 评论 -
explicit关键字
本文转自:点击打开链接C++提供关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换发生.声明为explicit的构造函数不能在隐式转换中使用.C++中,一个参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造函数),承担了两个角色.1.是个构造器,2.是个默认且隐含的类型转换操作符.写下如AAA = XXX,这样的代码,且恰好XX转载 2012-07-20 10:05:44 · 475 阅读 · 0 评论 -
Codeblocks 中文乱码问题原因分析和解决方法!
本文转自:点击打开链接这里以Code::Blocks 10.5版本为蓝本进行说明。 首先,请在Code::Blocks里面输入标准的一个C程序: [cpp] view plaincopy#include #include #include #include #include int main(void) { char str[转载 2012-07-11 21:33:05 · 2567 阅读 · 0 评论 -
Java中JNA调用
Java调用类:package com.kingsoft.jna02;import com.sun.jna.Library;import com.sun.jna.Native;public class TestDll1Service { public interface TestDll01 extends Library{ TestDll01 instance = (TestDll原创 2013-04-07 09:49:26 · 1585 阅读 · 0 评论