c++
文章平均质量分 74
fengyelengfeng
这个作者很懒,什么都没留下…
展开
-
VC6 实现GBK到UTF8编码转换(c++)
#include #include #include #include using namespace std; string GBKToUTF8(const std::string& strGBK) { string strOutUTF8 = ""; WCHAR * str1; int n =原创 2015-10-23 15:23:32 · 3297 阅读 · 0 评论 -
c++ 枚举的定义、设置值、取值范围
c++的 enum 工具提供了另一种创建符号常量的方式,这种方式可以代替 const。他还允许定义新类型,但必须按严格的限制进行。使用enum 的用法与使用结构相似。例如,请看下面的语句:emun spectrum{red,orange,yellow,gree,blue,violet,indigo,ultraviolet};这条语句完成两项工作。1、 让spectrum成原创 2015-11-14 21:58:01 · 13856 阅读 · 7 评论 -
C++ 拷贝构造函数和赋值构造函数机制详解
一、首先我们必须知道什么时候要重写拷贝构造函数和赋值函数如果类的对象中包含指针,指向动态分配的内存资源,一般都要重写拷贝构造函数和赋值函数例如下面的类:class Example{public: Example(){pBuffer=NULL; nSize=0;} ~Example(){delete pBuffer;} void Init(int n){ pBuf原创 2015-11-16 14:40:54 · 2126 阅读 · 0 评论 -
cctype 中的字符函数
cctype 中的字符函数 c语言中在 #include 文件中 c++ 在 #include 中函数名称 返回值isalnum() 如果参数是字母数字,即字母或者数字,函数返回trueisalpha原创 2015-11-27 23:42:54 · 839 阅读 · 0 评论 -
c++ 单例模式的浅谈
面对单例模式适用的情况,可能会优先考虑使用全局或者静态变量的方式,但是采用全局或者静态变量的方式,会影响封装性,难以保证别的代码不会对全局变量造成影响。《设计模式》一书中给出了一种很不错的实现,定义一个单例类,使用类的私有静态指针变量指向类的唯一实例,并用一个公有的静态方法获取该实例。//Singleton.h#ifndef _SINGLETON_H_#define原创 2015-11-30 10:40:52 · 376 阅读 · 0 评论 -
指向函数的指针数组
创建指向函数的指针数组,为了选择一个函数,只需使用数组的下标。然后间接引用这个指针。这种方式支持表格式驱动码(table-driven code)的概念;可以根据状态变量(或状态变量的组合值)去选择被执行函数,而不用条件语句或case语句。这种设计方式对于经常要从表中添加或删除函数(或者想动态的创建或改变表)十分有用。下面的例子使用预处理宏创建了一些哑函数,然后使用自动集合初始原创 2016-01-08 11:53:47 · 1040 阅读 · 0 评论 -
工厂模式:封装对象的创建(一、在基类中定义一个静态成员函数)
当我们发现需要添加新的类型到一个系统中时,最明智的首要步骤就是用多态机制为这些新类型创建一个共同的接口。用这种方法可以将系统中多余的代码与新添加的特定类型的代码分开。新类型的添加并不会搅乱已存在的代码...或者至少看上去如此。起初它似乎只需要在继承新类的地方修改代码,但这并非完全正确,仍须创建对象,在创建对象的地方必须指定要使用的准确的构造函数。因此,如果创建对象的代码遍布整个应用的程原创 2015-12-07 10:59:52 · 1579 阅读 · 0 评论 -
工厂模式:封装对象的创建(二、多态工厂)
在上篇中,静态成员函数 static Shape* factory(const string& type) 迫使所有创建对象的操作都集中在一个地方,因此这个地方就是唯一需要修改代码的地方。这是一个合理的决解方法,因为它完美的封装了对象的创建过程。但是工厂方法模式——可以使不同类型的的工厂派生自基本类型的工厂。工厂方法事实上就是多态工厂模式的一个特例。所以下面例子是——工厂方法模式做为原创 2015-12-07 15:28:10 · 587 阅读 · 0 评论 -
C++ 简单读写文本文件、统计文件的行数、读取文件数据到数组
C++ 简单读写文本文件、统计文件的行数、读取文件数据到数组 fstream提供了三个类,用来实现c++对文件的操作。(文件的创建、读、写)。ifstream -- 从已有的文件读 ofstream -- 向文件写内容 fstream - 打开文件供读写 文件打开模式: ios::in 读ios::out转载 2015-07-20 10:02:43 · 2097 阅读 · 0 评论 -
gcc/g++ 命令的常用选项
gcc/g++ 命令的常用选项格式(选项 解释)-o FILE 指定输出文件名,在编译为目标代码时,这一选项不是必须的。如果FILE没有指定,缺省文件名是a.out.-c 只编译生成目标文件,不链接-m486 针对 486 进行代码优化。 -O0 不进行优化处理。-O 或 -O1 优化生成代码。-O2 进一步优化。-O3 比 -O2 更进一步优化,包括 inline 函原创 2015-03-17 17:08:32 · 1091 阅读 · 0 评论 -
socket 学习(代码)
Socket 编程一、 基本知识主机字节序和网络字节序主机字节序即内存中存储字节的方法有:1. Little endian:将低序字节存储在起始地址2. Big endian:将高序字节存储在起始地址网络字序表示网络协议在处理多字节时的顺序,一律为big endian主机字节序和网络字节序转换的函数:#include uint16_t htons(uint16_原创 2015-03-16 17:13:04 · 710 阅读 · 0 评论 -
C/ C++字符串的各种转换
(1)string --> char * string str("OK"); char * p = str.c_str();(2)char * -->string char *p = "OK"; string str(p);(3)char * -->CString char *p ="OK"; CString m_Str(p);原创 2014-09-26 15:15:42 · 686 阅读 · 0 评论 -
c++学习之路----笔记
一.c++简介 1.1 历史 80年代 本贾尼. 83 年正式命名 87 gnu c++ 92 微软 c++ IBM 98 ANSI c++ ISO c++98 03 ISO c++03 11 ISO c++0x 1.2 c++ 和 c 的关系原创 2014-09-03 15:36:26 · 740 阅读 · 0 评论 -
设计模式(-)
设计模式分为三种类型创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。Abstract Factory(抽象工厂模式):提原创 2014-10-15 15:39:58 · 713 阅读 · 0 评论 -
计算Linux系统和进程和线程的CPU及内存使用率(c++源码)
proc文件系统下的/proc/stat,/proc/meminfo,/proc//status,/proc//stat总的cpu时间totalCpuTime = user + nice+ system + idle + iowait + irq + softirq + stealstolen + guest进程的总Cpu时间processCpuTime =原创 2014-11-18 11:23:18 · 4079 阅读 · 1 评论 -
设计模式(二)
模板方法模式 GOOD:把不变的代码部分都转移到父类中,将可变的代码用virtual留到子类重写#include#include#includeusing namespacestd; classAbstractClass{public: void Show() { cout我是"原创 2014-10-16 16:53:00 · 850 阅读 · 0 评论 -
设计模式(四)
迭代器模式 GOOD:提供一种方法顺序访问一个聚敛对象的各个元素,而又不暴露该对象的内部表示。为遍历不同的聚集结构提供如开始,下一个,是否结束,当前一项等统一接口。例:#include #include using namespace std;templateclass Iterator{public: virtual void first原创 2014-11-06 17:48:07 · 729 阅读 · 0 评论 -
设计模式 (三)
抽象工厂模式 GOOD:定义了一个创建一系列相关或相互依赖的接口,而无需指定它们的具体类。 用于交换产品系列,如ACCESS->SQLSERVER;产品的具体类名被具体工厂的实现分离例:#include#include#includeusing namespacestd; //用户抽象接口class IUser{pub原创 2014-11-06 17:41:30 · 630 阅读 · 0 评论 -
C语言数据类型打印对应的占位符
占位符列表char %c和%hhdunsigned char %c和%hhu%c对应字符身份,%hhd和%hhu对应数字身份short %hdunsigned short %hulong原创 2015-02-12 17:25:46 · 13623 阅读 · 0 评论 -
工厂模式:封装对象的创建(三、抽象工厂)
抽象工厂(Abstract Factory)模式看起来和前面的工厂方法很相似,只是它使用若干工厂方法(Factory Method)模式。每个工厂方法模式创建一个不同类型的对象。用户界面当创建一个工厂对象时,要决定将如何使用那个工厂创建的所有对象。实现各种图形(GUI)的可移植性:创建一个合适于正在使用的GUI的工厂对象,然后它将根据对它发出的对一个菜单、按钮或者滚动条等的请求自动原创 2015-12-09 10:18:02 · 762 阅读 · 0 评论