自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 指针的引入

vector的遍历可以使用下标或迭代器实现,同理,也可用下标或指针(pointer)来遍历数组.指针是指向某总类型对象的复合数据类型,是用于数组的迭代器:指向数组中的一个元素.在指向数组元素的指针上使用解引用操作符*(dereference operator)和自增操作符++(increment operator),与在迭代器上的用法类似.对指针进行解引用操作,可获得该指针所指对象的值.而

2007-07-31 17:27:00 1140

原创 数组操作

先说一点:数组的长度是固定的.跟vector类型不同,数组不提供push_back或者其他的操作在数组中添加新元素,数组一经定义,就不允许再添加新元素.如果必须在数组中添加新元素,程序员就必须自己管理内存:要求系统重新分配一个新的内存空间用于存放更大的数组,然后把原数组的所有元素复制到新分配的内存空间中.4.1.2   数组操作与vector元素一样,数组元素可用下标操作符来访问,

2007-07-31 15:46:00 1295

原创 数组

数组是C++语言中类似于标准库vector类型的内置数据结构.与vector类似,数组也是一种存储单一数据类型对象的容器,其中每个对象都没有单独的名字,而是通过它在数组中的位置对它进行访问.与vector类型相比,数组的显著缺陷在于:数组的长度是固定的,而且程序员无法知道一个给定数组的长度.数组没有获取其容量大小的size操作,也不提供push_back操作在其中自动添加元素.如果需要更改数组

2007-07-30 16:22:00 743

原创 开始数组和指针

C++语言提供了两种类似于vector和迭代器类型的低级复合类型------数组和指针.与vector类型相似,数组也可以保存某种类型的一组对象;而它们的区别在于,数组的长度是固定的.数组一经创建,就不允许添加新的元素.指针则可以像迭代器一样用于遍历和检查数组中的元素.现代C++程序应尽量使用vector和迭代器类型,而避免使用低级的数组和指针.设计良好的程序只有在强调速度时才在类实现的内部使

2007-07-30 13:51:00 438

原创 标准库bitset类型

 

2007-07-30 13:45:00 797

原创 迭代器的算术操作

    除了一次移动迭代器的一个元素的增量操作符外,vector迭代器(其他标准库容器迭代器很少)也支持 其他的算术操作.这些操作称为迭代器算术操作(iterator arithmetic),包括:iter+n    iter-n可以对迭代器对象加上或减去一个整型值.这样做将产生一个新的迭代器,其位置在iter所指元素之前(加法)或之后(减法)n个元素的位置.加或减之后的结果必须指向ite

2007-07-29 16:50:00 7770

原创 迭代器习题

习题3.17   用迭代器而不是下标操作来访问vector中的元素,重做3.3.2节的习题. //读一组整数到vector对象,计算并输出每对相邻元素的和//使用迭代器访问vector中的元素#include#includeusing namespace std;int main(){ vectorivec; int ival; //读入数据到vector对象 cout while(cin>>

2007-07-29 15:51:00 1597

原创 迭代器

除了使用下标来访问vector对象的元素外,标准库还提供了另一种访问元素的方法:使用迭代器(iterator). 迭代器是一种检查容器内元素并遍历元素的数据类型.(简而言之,迭代器是一种数据类型)标准库为每一种标准容器(包括vector)定义了一种迭代器类型.迭代器类型提供了比下标操作更通用化的方法:所有的标准库容器都定义了相应的迭代器类型,而只有少数的容器支持下标操作.因为迭代器对所有的容器都适

2007-07-28 17:52:00 2482

原创 vector操作的习题

习题3.13  读一组整数到vector对象,计算并输出每对相邻元素的和.如果读入元素个数为奇数,则提示用户最后一个元素没有求和,并输出其值.然后修改程序:头尾元素两两配对(每一个和最后一个,第二个和倒数第二个,以此类推),计算每对元素的和,并输出.#include#includeusing namespace std;int main(){ vector ivec; int ival; //

2007-07-27 23:27:00 3140

原创 警告:仅能对确知已存在的元素进行下标操作

对于下标操作符([]操作符)的使用有一点非常重要,就是仅能提取确实已存在的元素,例如:vector ivec;   //empty vectorcoutvector ivec2(10);   //vector with 10 elementscout试图获取不存在的元素必然产生运行时错误.和大多数同类错误一样,不能确保执行过程可以捕捉到这类错误,运行程序的结果是不确定的.由于取不存在的

2007-07-27 17:16:00 639

原创 vector对象的操作

vector标准库提供了许多类似于string对象的操作,下面列出了几种最重要的vector操作. v.empty()  如果v为空,则返回true,否则返回false.v.size()   返回v中元素的个数v.push_back(t)  在v的末尾增加一个值为t的元素.v[n]       返回v中位置为n的元素.v1=v2      把v1的元素替换成v2中元素的副本.v1==v2   

2007-07-27 17:09:00 3346 1

原创 标准库vector类型

vector是同一种类型的对象的集合,每个对象都有一个对应的整数索引值.和string对象一样,标准库将负责管理与存储元素相关的内存.我们把vector称为容器,是因为它可以包含其他对象.一个容器中的所有对象都必须是同一种类型.使用vector之前,必须包含相应的头文件.#includeusing std::vector;vector是一个类模板(class template).使

2007-07-26 15:48:00 1322

原创 string对象中字符的处理

我们经常要对string对象中的单个字符进行处理,例如,通常需要知道某个特殊字符是否为空白字符、字母或数字.下面有不少各种字符操作函数,适用于string对象的字符(或其他任何char值).这些函数都在cctype头文件中定义 .(书上P77)举一个例子.ispunct(c)函数的意思是,如果c是标点符号,则为true.string s("Hello World!!!");string::

2007-07-25 16:50:00 1768

原创 string对象的操作

s.empty()  如果s为空串,则返回true,否则返回falses.size()   返回s中字符的个数s[n]       返回s中位置为n的字符,位置从0开始s1+s2      把s1和s2连接成一个新字符串,返回新生成的字符串s1=s2      把s1的内容替换为s2的副本v1==v2     比较v1与v2的内容,相等则返回true,否则返回false!=,,>=    保持这些

2007-07-24 17:36:00 2330 1

原创 string对象的读写

用iostream标准库来读写内置类型的值我们已经学过,比如int,double等.同样,我们也可以用ostream和string标准库,使用标准输入输出操作符来读写string对象.//Note:#include and using declarations must be added to compile this codeint main(){ string s;   //empty s

2007-07-23 16:34:00 3683

原创 标准库string对象的定义和初始化

string对象的定义和初始化:string标准库支持几个构造函数.构造函数是一个特殊成员函数,定义如何初始化该类型的对象.下面列出几个string类型常用的构造函数.当没有明确指定对象初始化式时,系统将使用默认构造函数:string s1; //默认构造函数,s1为空串string s2(s1); //将s2初始化为s1的一个副本string s3("value");  //将s3初始化

2007-07-23 15:47:00 5767

原创 以太网简介

1.以太网的结构:(逻辑跟物理,均只适合传统的以太网,不适用于交换以太网)总线结构,所有的机器串在一根线上,一台机器发送,其余机器只能被动接收.介质是一个.更多的是逻辑结构而不是物理结构(星形分布,通过hub连接).2.以太网络的MAC方法:CSMA/CD    CS(载波监听) MA(多路访问)  CD(冲突检测)总结为十六个字:先听后发,边发边听,冲突退回,延迟重发.(适用于传

2007-07-22 18:50:00 1341

原创 我很难过

止不住的难过,好似掉进了冰窖,不知道,我不知道,就让我难过 

2007-07-21 19:20:00 474

原创 using声明以及VS2005跟创天中文VC++的一点不同

先来看看一段程序#includeusing std::cin;using std::cout;using std::endl;int main(){ cout int v1,v2; cin>>v1; cin>>v2; cout     return 0;}跟以往的程序不同,在头文件下面加了using声明,因为我用的是创天中文VC++(家里的2500+、NF2主板、512内存不太适合按照vs

2007-07-18 15:18:00 2645

原创 事实、真实

       不论任何时代,正确地搜集资讯,作为系统的整理分析、判断,以能作出有效的决策,几乎是一位优秀经营者必备的起码条件.司马徽所谓的识时务者为俊杰,值得便是这项条件.       每个人的四周,看来好像有取之不竭的资讯,也有不少人常用"事实胜于雄辩",来表示自己所掌握或所看到的才是事实,别人的便不是,所以只有自己的立场,才是有价值的.其实,这一切都只是"似是而非"之论.       首先这些

2007-07-15 17:28:00 588

原创 类类型

这几天在看小说和自传.留下标题以后写 

2007-07-14 17:28:00 343

原创 编写自己的头文件

 

2007-07-14 17:28:00 487

原创 枚举

我们经常需要为某些属性定义一组可选择的值.例如,文件打开的状态可能会有三种:输入、输出和追加.记录这些状态值的一种方法是使每种状态都与一个唯一的常数值相关联.我们可能会这样编写代码:const int input=0;const int output=1;const int append=2;虽然这种方法也能奏效,但是它有个明显的缺点:没有指出这些值是相关联的.(因为这些操作都是关联文件打开的

2007-07-11 18:23:00 568

原创 typedef名字

typedef可以用来定义类型的同义词:typedef double wages;   //wages is a synonym for doubletypedef int exam_score; //exam_score is a synonym for inttypedef wages salary;   //indirect synonym for doublesynonym就是同义

2007-07-11 15:21:00 558

原创 引用

引用(reference)就是对象的另一个名字.在实际程序中,引用主要用作函数的形式参数.引用是一种复合类型(compound type),通过在变量名前添加"&"符号来定义.复合类型是指用其他类型定义的类型.在引用的情况下,每一种引用类型都"关联到"某一其他类型.不能定义引用类型的引用,但可以定义任何其它类型的引用.引用必须用与该引用同类型的对象初始化:int ival=10

2007-07-10 15:40:00 1067 1

原创 const限定符

我们来看一段for循环语句.for(int index=0;index=512;++index){ //....}两个问题.第一个: 程序的可读性.作为旁人来看,他可能会问,比较index与512有什么意思呢?循环在做什么呢?512的作用目的又是什么呢?(本例中,512被称为魔数(magic number),它的意义在上下文中没有体现出来.好像这个数是魔术般从空中出现的)第二个问题:程

2007-07-09 17:39:00 546

原创 名字的作用域

C++程序中,每个名字都与唯一的实体(比如变量、函数和类型等)相关联.尽管有这样的要求,还是可以在程序中多次使用同一个名字,只要它用在不同的上下文中,且通过这些上下文可以区分改名字的不同意义.用来区分名字的不同意义的上下文称为作用域(scope).作用域是程序的一段区域.一个名称可以和不同作用域中的不同实体相关联.大多数作用域都是用花括号来界定的.一般来说,名字从其声明点开始直到其声明所在的作

2007-07-09 15:16:00 938

原创 变量初始化规则以及声明和定义

当我们定义没有初始化式的变量的时候,系统有时候会帮我们初始化变量.系统提供什么样的值取决于变量的类型,也取决于变量定义的位置.内置类型变量的初始化.内置类型变量是否自动初始化取决于变量定义的位置.在函数体外定义的变量都初始化为0,在函数体里面定义的内置类型变量不进行自动初始化 除了用作赋值操作符的左操作数,未初始化变量用作任何其他用途都是没有定义的.未初始化变量引起的错误难以发现. 

2007-07-08 16:53:00 4069

原创 定义对象

来看看下面的语句定义了几个变量:int units_sold;double sales_price,avg_price;string title;Sales_item curr_book;定义了五个变量.每个定义都是以类型说明符(type specifier)开始,后面紧跟着以逗号分开的含有一个或多个说明符的列表.分号结束定义.类型说明符制定与对象相关联的类型:int、double、str

2007-07-07 16:43:00 990

原创 继续变量

什么是变量?这是首要问题.变量提供了程序可以操作的有名字的存储区.C++中的每一个变量都有特定的类型,该类型决定了内存的大小和布局、能够存储于该内存中的值的取值范围以及可应用在该变量上的操作集.变量通常被称为"变量"或"对象"(object) 左值跟右值左值 lvalue,可以出现在赋值语句的左边或右边右值 rvalue,只能出现在赋值语句的右边变量是左值,因此可以出现在赋值语

2007-07-07 15:47:00 674

原创 转义字符跟变量的一些事

转义字符的应用使用转义字符,编写代码,输出2M,然后换行.修改程序,输出2,跟着一个制表符,然后是M,最后是换行符.使用转义字符的时候一定要注意, 不能少, 比如换行符/n,如果不加 ,n是未定义的....#includeint main(){ cout return 0;} 操,Visual C++编译时定住了,就因为我没加 return 0;还是因为用了字符串而不是

2007-07-06 16:52:00 930

原创 记得要小心

发表文章的时候要小心,就如同使用变量的时候要很小心 :)C++定义了一组表示整型、浮点数、单个字符和布尔值的算术类型,也定义了一种称为void的特殊类型,void没有对应的值,仅用在有限的一些情况下,作无返回值函数的返回类型.表示整数、字符和布尔值的算术类型统称为整型.字符类型有两种,char和wchar_tchar类型保证了有足够空间能够存储机器基本字符集中任何字符相对应的数值.因此

2007-07-06 16:12:00 664

原创 555555~~

刚写的一篇文章,发布时超时了,哭~~写了很多关于变量的,哇~~ 

2007-07-05 16:42:00 6989

原创 7.4

今天呢,也睡晚了,九点多才起床.晚上有点热...      中午去购物,买了好多好多东西哦~      下午回来打算看看书,继续C++ primer 4th.输入两个字,输出显示他们中间的所有数字.现定义输入的两个字v1,v2,然后比较大小,定义大小,大的给上限upper,小的给下限lower.然后做个for循环,将两数之间的数字循环输出.#include int main()

2007-07-04 16:27:00 497

原创 第一天

     起床稍微晚了点.9点多才起来.     C++ primer 第四版启动.前面的都看过,所以看的不是很慢.显示器雾化了,害我-跟=分不清.  - -      用的是Visual C++ 6.0,没有用2005.输入两个字,显示较大的那个数#include int main(){ cout int v1,v2; cin>>v1>>v2;    if(v1 {  cout 

2007-07-03 16:14:00 687 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除