摘要: 不过为了完成强制类型转换,C++中已经为我们提供了4中标准方法,它们是dynamic_cats, static_cast, const_cast, reinterpret_cast,用法形式为:dynamic_cast(表达式),之所以分成4类,就表示他们各自有着不同的使用环境,下面转载的文章会有... 阅读全文
posted @ 2014-10-19 22:39 rcpalc 阅读(715) 评论(0) 推荐(0)
摘要: 一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆... 阅读全文
posted @ 2014-10-19 17:47 rcpalc 阅读(95) 评论(0) 推荐(0)
摘要: 1.malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存2.对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由malloc/fr... 阅读全文
posted @ 2014-10-17 20:58 rcpalc 阅读(98) 评论(0) 推荐(0)
摘要: 正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。匹配中文字符的正则表达式: [\u4e00-\u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了匹配双字节字符(包括汉字在内):[^\x00-\xff]评注:可以用来计算字符串的长度... 阅读全文
posted @ 2014-10-17 18:19 rcpalc 阅读(107) 评论(0) 推荐(0)
摘要: 选择排序:#include#include#includeint main(){int a[7]={3,7,5,2,4,6,8};int i;int j;int temp; for(i=0;i#include#includeint main(){int a[7]={3,7,5,2,4,6,8};i... 阅读全文
posted @ 2014-10-13 19:38 rcpalc 阅读(231) 评论(0) 推荐(0)
摘要: 树是一种比较重要的数据结构,尤其是二叉树。二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分,其次序不能任意颠倒。二叉树是递归定义的,因此,与二叉树有关的题目基本都可以用递归思想解决,当然有些题目非递归解法也应该掌握,... 阅读全文
posted @ 2014-10-05 20:44 rcpalc 阅读(184) 评论(0) 推荐(0)
摘要: 对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1.什么是TCP/IP、UDP?2.Socket在哪里呢?3.Socket是什么呢?4.你会使用它们吗?什么是TCP/IP、UDP?TCP/IP(Transmission Cont... 阅读全文
posted @ 2014-09-26 07:46 rcpalc 阅读(160) 评论(0) 推荐(0)
摘要: 我们在一个母字符串中查找一个子字符串有很多方法。KMP是一种最常见的改进算法,它可以在匹配过程中失配的情况下,有效地多往后面跳几个字符,加快匹配速度。当然我们可以看到这个算法针对的是子串有对称属性,如果有对称属性,那么就需要向前查找是否有可以再次匹配的内容。在KMP算法中有个数组,叫做前缀数组,也有... 阅读全文
posted @ 2014-06-15 21:13 rcpalc 阅读(222) 评论(0) 推荐(0)
摘要: 原文链接 [收藏] 字符串匹配是计算机的基本任务之一。 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? 许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发... 阅读全文
posted @ 2014-06-15 20:07 rcpalc 阅读(112) 评论(0) 推荐(0)
摘要: 1、概述C++中出了const关键字以后,宏定义常量的功能已经不在被推荐使用。这使得宏似乎没有了用武之地。实际上,宏还可以做很多事情,笔者也难以全部列举。这里,仅仅列举几个典型的用法,希望大家能够从中获益。2、实现多环境兼容常见的情况是,我们实现了一个函数,希望它只在某种编译条件满足时被编译和使用。例如,我希望在源码中插入调试语句,以便以Debug方式运行时能够通过调试信息观察程序运行情况。但是,在产品发售给用户时,我又希望这些调试信息不要输出,以降低代码尺寸,提高运行性能。这一问题的解决方法就是使用宏。根据条件编译指令,对于不同的编译条件,提供不同的实现。例如:我们希望在特定的位置向日志中写 阅读全文
posted @ 2014-02-27 09:09 rcpalc 阅读(517) 评论(0) 推荐(0)