随笔分类 -  C/C++

摘要:生命周期,作用域的定义;说明全局变量、静态变量、局部变量、const变量的生命周期、作用域:生命周期:是一个变量存在的周期。作用域:是一个变量可以被引用的范围。最常见的如:{}、static修饰符等等。1)全局变量:作用域:全局作用域(只需要在一个源文件中定义,就可以作用于所有的源文件);生命周期:... 阅读全文
posted @ 2014-11-10 14:51 Stephen_Hsu 阅读(10731) 评论(0) 推荐(3) 编辑
摘要:malloc/free与new/delete的区别:相同点:都可用于动态内存分配与释放;不同点:1):操作对象有所不同。malloc/free是C/C++语言的标准库函数,new/delete是C++的运算符。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,所以无法执行构造函... 阅读全文
posted @ 2014-11-10 11:42 Stephen_Hsu 阅读(659) 评论(0) 推荐(0) 编辑
摘要:本文包含字符串包含问题(isSubstr)、字符串转化为整数(atoi)、统计词频问题(Wordcount)、字符串反转(Reverse)。字符串去除空格等一:字符串包含问题(isSubstr)思路:本程序采用最简单的方法;1、遍历源字符串,当子字符串的首字符与遍历到的字符相同时,就遍历字符串。2、... 阅读全文
posted @ 2014-11-08 17:33 Stephen_Hsu 阅读(481) 评论(1) 推荐(0) 编辑
摘要:一定义:字符串:字符串是由零个或者多个字符组成的有限串行;子串:字符串中任意个连续的字符组成的子序列,并规定空串是任意串的子串,字符串本身也是子串之一;“abcdefg”,”abc“就是其子串,但是“ade”不属于子串范围。子序列:不要求字符连续,但是其顺序与其在主串中相一致;上例中,“abc”与“... 阅读全文
posted @ 2014-11-08 17:26 Stephen_Hsu 阅读(8102) 评论(0) 推荐(0) 编辑
摘要:头文件:function模板库:用于替代C语言中的函数指针,它允许用户在目标的实现上有更大的弹性,即目标既可以是普通函数,也可以是函数对象和类的成员函数。注意:function模板类为C++11中的新标准,在编译时注意加上 -std=c++0x 的编译选项,适配器bind的实现:1.bind()函数... 阅读全文
posted @ 2014-10-10 23:54 Stephen_Hsu 阅读(934) 评论(0) 推荐(0) 编辑
摘要:一、普通函数指针我们先来看一个最简单的函数:void fool(int a){ cout #include using namespace std;void fool(int a){ cout 方式调用(pf->*pFunc2)(123124);这里我们还注意到,上述类中含有一个sta... 阅读全文
posted @ 2014-10-10 20:50 Stephen_Hsu 阅读(2596) 评论(0) 推荐(0) 编辑
摘要:这里我们给出一个使用RTTi的例子;考虑一个类层次,我们希望为它实现 operator==相等操作符:如果两个对象的给定数据成员集合的值相同,则它们就相等。每个派生类可以增加自己的成员,当然,测试相等的时候也要包含这些数据。对于类层次中有两个类型(一个基类,一个派生类),按照一般的方法,我们就需要实... 阅读全文
posted @ 2014-10-09 01:01 Stephen_Hsu 阅读(1893) 评论(0) 推荐(0) 编辑
摘要:类型识别分为两种:一种以编译时类型识别,一种是运行时类型识别;编译时类型识别:static_cast;运行时类型识别(RTTI),C++通过下面连个操作符提供RTTi;1)dynamic_cast操作符,将基类类型的指针或者引用安全地转换为派生类型的指针或者引用;2)typeid操作符,返回指针或者... 阅读全文
posted @ 2014-10-09 00:32 Stephen_Hsu 阅读(383) 评论(0) 推荐(0) 编辑
摘要:本博文我们通过三个程序比较统计词频问题的时间复杂度问题(末尾有用时及其分析);问题描述;1)、找一篇文章,将所有单词输入至程序;(The Bible Holy为例)2)、统计出每个单词的数量,即词频问题;3)、增加停用词功能;(遇到此类词,直接略过)(网上搜)4)、分别统计出读取文件并计算词频时间、... 阅读全文
posted @ 2014-10-03 10:41 Stephen_Hsu 阅读(4817) 评论(0) 推荐(0) 编辑
摘要:本篇我们将实现Queue的简单操作;一、Queue版本1;通过本程序,我们可以看到 pop、push 、back、front、size的简单操作的实现;//Queue.hpp#ifndef QUEUE_H_#define QUEUE_H_#include template //默认的类型形参 >cl... 阅读全文
posted @ 2014-10-02 01:32 Stephen_Hsu 阅读(259) 评论(0) 推荐(0) 编辑
摘要:有array(数组)、smartptr(智能指针)、stack(栈);一、array:1、我们实现了指针访问和下标访问。C++中指针访问常用迭代器来代替。2、这里我们也揭示了 size_type、iterator、[] 、begin()、end()、size()的真实面目;Array.hpp 1 #... 阅读全文
posted @ 2014-10-02 01:05 Stephen_Hsu 阅读(484) 评论(0) 推荐(0) 编辑
摘要:由于将函数和类模板放在一块篇幅较大,我们今天将其拆分为两篇博文。上篇博文我们讨论了函数模板的简单应用,本篇我们继续讨论模板的另一板块--类模板。1)、作用:类模板类似于代码产生器,根据用户输入的类型不同,产生不同的class;2)、编译: a):检查模板class 的自身语法; b):根据用户指定的... 阅读全文
posted @ 2014-09-30 09:45 Stephen_Hsu 阅读(265) 评论(0) 推荐(0) 编辑
摘要:本博文主要讨论函数模板及其简单应用。1)、作用:函数模板可以看做是一种代码产生器,往里面放入具体的类型,得到具体化的函数。2)、编译(分为两步):a):实例化之前,先检查模板本身语法是否正确;b):根据 函数调用调用,先去实例化模板代码,产生具体的函数。也就是说, 没有函数调用,就不会实例化模板代码... 阅读全文
posted @ 2014-09-30 02:33 Stephen_Hsu 阅读(227) 评论(0) 推荐(0) 编辑
摘要:本博文我们通过重新实现String类 来说明构造函数,复制控制,重载操作符。(本文末尾有完整代码以及测试结果)一、构造函数(包括析构函数):1:默认构造函数;2:用户自己定义的构造函数注意:当用户自己定义时,也要明确显示默认构造函数,这是因为,当我们没有定义自己的构造函数时,编译器会为我们自动合成一... 阅读全文
posted @ 2014-09-29 01:02 Stephen_Hsu 阅读(1085) 评论(0) 推荐(0) 编辑
摘要:本博文我们讨论OOP复制控制的一些内容;首先考虑对象复制的时机: 非引用类型1):根据一个类去显式或者隐式初始化一个对象;2):复制一个对象,将它作为实参传给一个函数;3):从函数返回时复制一个对象。( string tolittle(string word))4):初始化顺序容器中的元素。(例如v... 阅读全文
posted @ 2014-09-26 02:01 Stephen_Hsu 阅读(284) 评论(0) 推荐(0) 编辑
摘要:本博文我们继续讨论标准模板库STL的关联容器;主要有:pair、map、set。一:pairpair是一种简单的关联类型,不属于容器范围。而是代表一个 key-value键值对。创建、初始化、操作 示例代码如下: 1 #include 2 #include 3 #include 4 using... 阅读全文
posted @ 2014-09-25 14:46 Stephen_Hsu 阅读(5615) 评论(0) 推荐(0) 编辑
摘要:C++中的结构体:(不可访问整个结构体,如:不能一次输出结构体。)1):在C中,结构体只可以含有成员,不可以有函数,但是c++中可以。而且,函数可以直接访问里面的数据成员。2):访问方式a):若是结构体类型的 变量, 采用 . 形式。如:Person.Age_。b):若是结构体类型的 指针, 则采用... 阅读全文
posted @ 2014-09-24 01:11 Stephen_Hsu 阅读(311) 评论(0) 推荐(0) 编辑
摘要:STL 标准模板库标准模板库(Standard Template Library,缩写:STL)是一个C++软件库, 包括5个组件,分别是:算法、容器、迭代器,函数和适配器。 一:容器之初始化:1.直接初始化一个空的容器;2.用一个容器去初始化另一个容器;3.指定容器的初始大小;4.指定容器的初始大... 阅读全文
posted @ 2014-09-23 00:49 Stephen_Hsu 阅读(800) 评论(0) 推荐(0) 编辑
摘要:本篇我们讨论一个小程序:实现电话薄简单功能。(一条语句最好一个作用)问题描述 :a) : 实现电话添加记录功能;(电话重复的视为同一人,不予增添);即电话号码唯一。b) : 删除记录功能;(实现提醒功能:确认是否要真的删除)c) : 查询记录功能;(按手机号码查询);待优化功能:1):每次启动程序都... 阅读全文
posted @ 2014-09-21 21:15 Stephen_Hsu 阅读(774) 评论(0) 推荐(0) 编辑
摘要:本博文主要介绍IO流中fstream,iterator的简单应用。问题描述:a):找一篇文章(The Bble Holy) ,将其所有的单词输入vector中,并统计其单词个数b):增加统计词频功能,用结构体实现(word ,count) ,将结构体存入vector中c):增加停用词功能。 1):... 阅读全文
posted @ 2014-09-19 22:31 Stephen_Hsu 阅读(372) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示