C/C++
dmfrm
这个作者很懒,什么都没留下…
展开
-
C语言 实现链栈
#include <iostream>using namespace std;typedef int DataType;typedef struct stStack{ DataType data; struct stStack* pTop;}STACK;/* 初始化栈*/STACK* initStack(){ STACK* pNewNode = (STACK*)m原创 2015-08-03 15:53:51 · 5650 阅读 · 0 评论 -
C++设计模式(二)单例模式
参考C++设计模式这本书,写了一个示例,如下:#include #include #include #include using namespace std;/* 单例 */class Singleton{private: static Singleton* m_pInstance; int m_data;protected: Singleton原创 2015-11-08 21:04:26 · 452 阅读 · 0 评论 -
C++模式(三)模板方法模式
代码示例如下:#include using namespace std;/* 抽象类 */class AbstractClass{public: ~AbstractClass() { } AbstractClass() { } void TemplateMethod() { this->oper原创 2015-11-10 20:31:18 · 477 阅读 · 0 评论 -
C++设计模式(一) 工厂模式
一个运算类(Operator)是基类,派生出加法类(OperatorAdd),减法类(OperatorSub),乘法类(OperatorMul),除法类(OperatorDiv),那么如果想再添加一个开根号运算,或者是一个阶乘运算,那么只用再继承两个类就可以了,同时在类OperatorFactory中加入两个if分支就可以,不会影响前面的运算,更好的模块化。代码实现如下:原创 2015-10-27 15:54:00 · 561 阅读 · 0 评论 -
effective C++ 目录(第三版)
我把目录整理一下,方便在以后工作中查看。条款01:视C++为一个语言联邦条款02:尽量以const,enum,inline替换#define条款03:尽可能使用const条款04:确定对象被使用前已先被初始化条款05:了解C++默认编写并调用哪些函数条款06:若不想使用编译器自动生成的函数,就该明确拒绝条款07:为多态基类声明virtual析构函原创 2015-12-24 20:12:54 · 1364 阅读 · 0 评论 -
C++的 函数模板和模板函数、类模板和模板类区别
1、函数模板和模板函数函数模板:函数模板的重点是模板。表示的是一个模板,专门用来生产函数。template <typename T> void fun(T a) { } 模板函数:是模板函数的实例化fun(7);//隐式生成fun <int> fun(3.9);//隐式生成fun <double> fun(‘b’);// 隐式生成fun <char> Shape* p原创 2015-08-23 22:05:42 · 2064 阅读 · 4 评论 -
C++ 递归实现n的阶乘
递归在学习的过程中不容易被理解,能够用递归解决问题的有两个条件: 1、有结束的条件(递归的出口) 2、函数体能够被反复的执行。下面是C++递归实现阶乘的代码:#include <iostream>using namespace std;int recv(int n){ int sum = 1; if(1 == n) { return 1; }原创 2015-08-02 18:51:46 · 23535 阅读 · 0 评论 -
C语言的const与C++const的区别
区别一: C语言的const是定义了一个const变量,该变量只具备读的功能,而不具备写的功能。 C++的const原创 2015-08-03 23:05:12 · 3030 阅读 · 1 评论 -
C++的静态成员变量和静态成员函数详解
1、静态成员变量在使用前必须初始化,且初始化必须是在类外。#include <iostream>using namespace std;class CStudent{private: static int m_nsCount;public: /* 构造函数 */ CStudent() { m_nsCount++; } stati原创 2015-08-04 10:26:21 · 523 阅读 · 0 评论 -
C++的抽象类理解
一、抽象类的定义纯虚函数是在基类中声明的虚函数,它在基类中没有定义,但要求任何派生类都要定义自己的实现方法。在基类中实现纯虚函数的方法是在函数原型后加“=0”,有虚函数的类就叫做抽象类。抽象类有一下几个特点:(1)抽象类只能用作其他类的基类,不能建立抽象类对象。(2)抽象类不能用作参数类型、函数返回类型或显式转换的类型。(3)可以定义指向抽象类的指针和引用,此指针可以指向它的派生类,进而实现多态性。原创 2015-09-05 21:38:43 · 1970 阅读 · 0 评论 -
C++的sort函数逆序排序
(1)对一个int型数组进行排序 int array[5] = {3,100,45,2,0}; sort(a,a+5);(2)对利用cmp函数,对int型数组进行逆序排序int cmp1(int a,int b){ return b>a;}int array[5] = {3,100,45,2,0};sort(a,a+5,cmp1);(3)对vecto原创 2015-09-12 14:58:27 · 38747 阅读 · 3 评论 -
Linux C编程常用的API函数
最近找到了一个特别好的在线Linux C API函数,给大家分享一下。1. 字符测试函数2. 字符串操作3. 内存管理函数4. 日期与时间函数5. 数学函数6. 文件操作函数7. 进程管理函数8. 文件权限控制9. 信号处理函数10. 接口处理函数11. 环境变量函数12. 终端控制函数原创 2015-09-14 00:33:39 · 3799 阅读 · 0 评论 -
C++ 判断是大端存储还是小端存储
1、区分大端小端:内存的低地址存放的数据的高位,就是大端存储。 内存低地址存放数据的低位,就是小端存储。2、下面的图可以清晰理解 3、C++代码验证大端还是小端存储#include <iostream>using namespace std;int main(){ int nNum = 0x12345678; char chData = *(char*)(&nNum);原创 2015-07-30 22:09:54 · 8060 阅读 · 3 评论