
c++
文章平均质量分 78
byrsongQQ
这个作者很懒,什么都没留下…
展开
-
C++枚举类型
1、枚举enum的用途浅例 写程序时,我们常常需要为某个对象关联一组可选alternative属性.例如,学生的成绩分A,B,C,D等,天气分sunny, cloudy, rainy等等。 更常见的,打开一个文件可能有三种状态:input, output和append. 典型做法是,对应定义3个常数,即: const int input = 1; const转载 2010-05-11 10:43:00 · 1153 阅读 · 0 评论 -
string(字符串)类常用成员----增+,append,insert 删erase 改replace 查find 遍历 截取子串 字符串比较
<br />头文件及命名空间::<br /> #include<string><br /> using namespace std;<br />遍历使用下标类型:<br /> string::size_type类型描述的是string类型中下标的类型。所以遍历string类型的方法是:<br /> for(string::size_type i = 0; i < obj.size(); i++) <br /> //因为长度不确定,转载 2011-04-11 23:10:00 · 3346 阅读 · 0 评论 -
静态函数
1)全局静态函数只在本编译单元有效。 2)类静态函数,对比普通成员函数,没有this指针,不能访问非static成员。 3)要说二者相同点,都是c++名字控制的手段:全局静态函数被局限在一个编译单元;而类静态函数,必须使用其“类名::静态函数名”转载 2011-03-10 18:07:00 · 794 阅读 · 0 评论 -
typedef和typename关键字
<br />1、类型说明typedef<br /> 类型说明的格式为: <br /> typedef 类型 定义名; <br /> 类型说明只定义了一个数据类型的新名字而不是定义一种新的数据类型。定义名表示这个类型的新名字。 <br /> 例如: 用下面语句定义整型数的新名字: <br /> typedef int SIGNED_INT; <br /> 使用说明后, SIGNED_INT就成为int的同义词了, 此时可以用SIGNED_INT 定 <转载 2010-10-18 16:07:00 · 719 阅读 · 0 评论 -
c++异常处理
<br />问:我想问对于C++,怎么才能做到把所有的异常捕获?<br />比如:除0, 使用没有初始化的指针, 访问非法内存等等。<br />答:C++ 只能捕获程序员(或库)抛出(throw)的异常。<br />比如:除0, 使用没有初始化的指针, 访问非法内存等等。<br />这些行为有可能导致程序运行出现异常(运行错误),也可能程序运行正常,因为上面提到的这些都是未定义行为。<br /> <br /> 没有任何一层的异常处理器能捕获某个被抛出的异常,那么这个异常就不被捕获。这转载 2010-12-01 15:35:00 · 1418 阅读 · 0 评论 -
C++文件操作详解(ifstream、ofstream、fstream)
<br />C++ 通过以下几个类支持文件的输入输出:ofstream: 写操作(输出)的文件类 (由ostream引申而来) ifstream: 读操作(输入)的文件类(由istream引申而来) fstream: 可同时读写操作的文件类 (由iostream引申而来) <br />打开文件(Open a file)<br />对这些类的一个对象所做的第一个操作通常就是将它和一个真正的文件联系起来,也就是说打开一个文件。被打开的文件在程序中由一个流对象(stream object)来表示 (这些类的一个实转载 2010-06-25 17:16:00 · 756 阅读 · 0 评论 -
使用ifstream和getline读取文件内容
<br />假设有一个叫 data.txt 的文件, 它包含以下内容: <br /><br />Fry: One Jillion dollars.<br />[Everyone gasps.]<br />Auctioneer: Sir, that's not a number.<br />数据读取, 测试 。<br />以下就是基于 data.txt 的数据读取操作:<br /><br />#include <iostream><br />#include <fstream><br />#include <转载 2010-06-23 18:42:00 · 752 阅读 · 0 评论 -
彻底搞清楚C/C++中日期和时间 time_t与struct tm,time(NULL),ctime;strftime
<br />本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。<br /><br />关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元)<br /><br /><br />1.概念<br />在C/C++中,对字符串的操作有很多值得注意的问题,同样转载 2010-08-05 13:49:00 · 2067 阅读 · 0 评论 -
c++中的类型转换:static_cast、dynamic_cast、reinterpret_cast和const_cast
关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++ 的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换符:static_cast, dynamic_cast。标准C++中有四个类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。下面对它们一一进行介绍。stat转载 2010-05-24 14:16:00 · 977 阅读 · 0 评论 -
assert() c++ 使用方法
程序一般分为Debug 版本和Release 版本,Debug 版本用于内部调试,Release 版本发行给用户使用。断言assert 是仅在Debug 版本起作用的宏,它用于检查“不应该”发生的情况。示例6-5 是一个内存复制函数。在运行过程中,如果assert 的参数为假,那么程序就会中止(一般地还会出现提示对话,说明在什么地方引发了assert)。void *memcpy(voi转载 2010-05-18 23:11:00 · 700 阅读 · 0 评论 -
堆内存和栈内存区别
(1) 堆栈。驻留于常规RAM(随机访问存储器)区域,但可通过它的“堆栈指针”获得处理的直接支持。堆栈指针若向下移,会创建新的内存;若向上移,则会释放那些内存。这是一种特别快、特别有效的数据保存方式,仅次于寄存器。创建程序时,Java编译器必须准确地知道堆栈内保存的所有数据的“长度”以及“存在时间”。这是由于它必须生成相应的代码,以便向上和向下移动指针。这一限制无疑影响了程序的灵活性,所以尽管有些转载 2010-05-18 22:56:00 · 763 阅读 · 0 评论 -
C/C++随机数生成 rand() srand()
转载自 http://www.cnblogs.com/caosiyang/archive/2012/07/03/2575236.html随机数包括伪随机数和物理随机数,我要说的是使用rand()和srand()生成伪随机数,尽管是伪随机,也能满足大部分要求。 #include int rand(void);返回一个伪随机数,范围是0-RAND_MA转载 2013-10-31 13:52:50 · 1554 阅读 · 0 评论