![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
djskl
这个作者很懒,什么都没留下…
展开
-
根据栈的压入序列判断弹出序列是否正确(模板实现)
#include #include #include #include using namespace std; template bool isPopOrder(In push_beg,In push_end,In pop_beg,In pop_end){ if(push_beg>push_end||pop_beg>pop_end) throw exception("invalid原创 2013-03-18 16:37:48 · 569 阅读 · 0 评论 -
C++ public protected private权限说明
1、这三种权限不只是针对class的,struct的成员变量和方法也有这些权限控制(struct像class一样,也有构造函数、成员函数,也能继承,也能实现多态,最明显的区别就是默认的权限控制,struct的默认权限是public,class的默认权限是private;在继承上,struct可以继承class,同样class也可以继承struct,struct默认的继承是public继承,clas原创 2013-03-02 16:27:42 · 600 阅读 · 0 评论 -
c++ 类中const成员变量的赋值
本文转自:http://hi.baidu.com/msingle/blog/item/840b4c7a57a045e42e73b355.html 在头文件的类的定义中定义了一个const成员变量c++ 规则: 1、类定义中不能进行初始化,因为头文件中类的定义只是一个声明,并没有分配真正空间,因此变量是不存在的,因此是不能赋值的。 2、const 定义的变量是不能赋值 这可转载 2013-03-11 15:29:20 · 1145 阅读 · 0 评论 -
快速排序的模板实现
#include #include #include using namespace std; template Ran Partition(Ran beg,Ran end){ srand((int)time(0)); Ran iter=rand()%(end-beg)+beg; iter_swap(iter,end); Ran small=beg-1; while(be原创 2013-03-16 23:42:09 · 613 阅读 · 0 评论 -
C++ Map的使用
转自:http://blog.sina.com.cn/s/blog_61533c9b0100fa7w.html Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作! 1. map最基本的构造函数; mapmapstring; mapmapint; mapmapstrin转载 2013-03-24 22:39:10 · 389 阅读 · 0 评论 -
C++ 虚函数表解析
转自:http://blog.csdn.net/haoel/article/details/1948051/ 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板转载 2013-03-10 11:58:43 · 490 阅读 · 0 评论 -
C++ static关键字
C++中的static关键字主要用于两个地方: 面向过程程序设计的static:用于普通变量和函数,被static修饰的变量和函数不能其他文件访问面向对象程序设计的static:修饰类的成员变量和方法 1、面向过程的static 1)静态变量 .静态全局变量:定义在所有函数外部,由本文件内的其他代码共享 .静态局部变量:定义在局部函数内,每次函数调用都是基于上一次调用之后的值原创 2013-03-11 15:25:39 · 471 阅读 · 0 评论 -
C++内存泄露检测(Visual studio 2010)
方法1:使用crtdbg.h 1、在程序头部添加: #define _CRTDBG_MAP_ALLOC #include #include 注意:放在#include "stdafx.h"之后,否则会报错。 2、在程序中添加语句: _CrtDumpMemoryLeaks(); Example: #include "stdafx.h" #define _CRTDBG_MAP_ALL原创 2013-02-19 21:19:17 · 2059 阅读 · 0 评论 -
C++虚函数与虚函数表
转自:http://www.cnblogs.com/Ripper-Y/archive/2012/05/15/2501930.html 多态性可分为两类:静态多态和动态多态。函数重载和运算符重载实现的多态属于静态多态,动态多态性是通过虚函数实现的。 每个含有虚函数的类有一张虚函数表(vtbl),表中每一项是一个虚函数的地址, 也就是说,虚函数表的每一项是一个虚函数的指针。 没有虚函数的C++类转载 2013-03-10 12:00:49 · 472 阅读 · 0 评论 -
C++ void参数
转自:http://www.cnblogs.com/thinkingfor/archive/2010/09/14/1825842.html 在C程序中如果在声明函数的时候如果没有任何参数那么需要将参数定义为void以此来限定此函数不可传递任何参数,如果不进行限定让参数表默认为空其意义是可以传递任何参数,从设计思想上来讲这的确也符合C的设计哲学,如果要有明确的定义那么就要自己去处理它。以下是C转载 2013-03-10 23:40:24 · 802 阅读 · 0 评论 -
C++ 宏
宏属于预处理命令的一种 预处理命令: 在编译之前进行的处理,编译工作的任务之一就是语法检查,预处理不做语法检查。 包含:1.宏定义; 2.文件包含; 3.条件编译。 预处理命令以符号“#”开头。 宏定义:又称为宏代换、宏替换,简称“宏”,可进行字符串替换和参数替换 格式:#define标识符 字符串 (1)宏名一般用大写 (2)使用宏可提高程序的通用性和易读性,减少不一致性,减少原创 2013-03-12 10:53:15 · 579 阅读 · 0 评论 -
C++ 常量指针 指针常量
概念 常量指针 指向的内容不能被改变,不能通过指针来修改它指向的内容,既可以指向常量也可以指向普通变量。但是指针自身不是常量,它自身的值可以改变,从而指向另一个常量。 指针常量 是指--指针本身是常量。它指向的地址是不可改变的,但地址里的内容可以通过指针改变。它指向的地址将伴其一生,直到生命周期结束。有一点需要注意的是,指针常量在定义时必须同时赋初值。 使用方法 常量指针:con转载 2013-03-12 16:16:48 · 472 阅读 · 0 评论 -
C字符串中的'\0'为什么存在
一直对这个'\0'有点疑惑,今天查了点资料,稍稍明白一点。 众所周知,java、python等很多语言中字符串都没有在自身值之外加什么特殊字符,那C为什么这么做呢?这样做是因为有什么好处还是C自身的问题? 首先C这么做貌似没有什么特别的优势,原因可能是C没有提供string抽象类型,在C中string也是普通的字符数组,为了跟普通字符数组区别,就规定以\0结尾的字符数组可以视为字符串,这样方便原创 2015-06-07 18:45:05 · 1970 阅读 · 0 评论