自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hjhomw的博客

Keep going, you can!

  • 博客(18)
  • 资源 (7)
  • 问答 (2)
  • 收藏
  • 关注

转载 C++中vector使用

转载: http://blog.chinaunix.net/uid-26000296-id-3785610.html

2015-08-30 10:10:02 245

原创 定义和初始化vector对象

和任何一种类类型一样,vector模板控制着定义和初始化向量的方法。下面列出了定义vector对象的常用方法。**默认初始化**vector对象从而创建一个指定类型的空vector:vector<string> svec; //默认初始化,svec不含任何元素看起来空vector好像没什么用,但是很快我们就会知道程序在运行时可以很高效地往vector对象中添加元素。事实上,最常见的方式就是先定义一个

2015-08-30 10:00:57 7683 2

原创 缓冲区刷新

缓冲刷新(即,数据真正写到输出设备或文件)的原因很多:程序正常结束,作为main函数的renturn操作的一部分,缓冲刷新被执行。缓冲区满时,需要刷新缓冲,而后新的数据才能继续写入缓冲区可以使用操纵符如endl来显示地刷新缓冲区在每个输出操作之后,可以用unitbuf设置流的内部状态,来清空缓冲区。默认情况下,对cerr是设置unitbuf的,因此写到cerr的内容都是立即刷新的一个输出

2015-08-29 14:39:25 888

原创 函数指针

函数指针指向的是函数而非对象。和其他指针一样,函数指针指向某种特定类型。函数的类型由它的返回类型和形参类型共同决定,与函数名无关。例如:bool lengthCompare(const string &,const string &);该函数的类型是bool(const string &,const string &).要想声明一个可以指向该函数的指针,只需用指针替换函数名即可://pf指向一个函数

2015-08-27 10:58:27 369

原创 main:处理命令行选项

有时,我们需给main函数传递实参,一种常见的情况是用户通过设置一组选项来确定函数所要执行的操作、例如,假定main函数位于可执行文件prog之内,我们可以向程序传递下面的选项: prog -d -o ofile data0 这些命令行选项通过两个(可选的)形参传递给main函数:int main(int argc,char *argv[]){...}第二个形参是数组,它的元素是指向C风格字符串

2015-08-26 14:10:12 720

原创 数组

数组是一种复合类型,数组的声明形如a[d],其中a是数组的名字,d是数组的维度。维度说明了数组中元素的个数,因此必须大于0.数组中元素的个数也属于数组类型的一部分,编译的时候维度应该是已知的。也就是说维度必须是一个常量表达式。unsigned cnt=42; //不是常量表达式constexpr unsigned sz=42; //常量表达式int arr[10]; /

2015-08-24 19:08:24 357

原创 constexpr和常量表达式

常量表达式(const expr)是指值不会改变并且在编译过程就能得到计算结果的表达式。显然,字面值属于常量表达式,用常量表达式初始化的const对象也是常量表达式。一个对象(或表达式)是不是常量表达式由它的数据类型和初始值共同决定,例如:const int max_files=20; //max_files是常量表达式const int limit=max_files+1; //limit

2015-08-24 18:12:15 741

原创 空指针和void*指针

空指针不指向任何对象,在试图使用一个指针之前可以检查它是否为空。以下列出几个生成空指针的方法:int *p1=nullptr;int *p2=0;int *p3=NULL;得到空指针最直接的办法就是用字面值nullptr来初始化指针,这是C++11新标准引入的一种方法。nullptr是一种特殊类型的字面值,它可以被转换成任意其他的指针类型。另一种方法就如对p2的定义一样,也可以通过将指针初始化为

2015-08-24 15:50:56 701 1

原创 迭代器

所有标准库容器都可以使用迭代器,但是其中只有少数几种才支持下标运算符。迭代器有效和无效之分,这一点和指针差不多。有效的迭代器或者指向某个元素,或者指向容器中尾元素的下一个位置,其他情况都属于无效。和指针不一样,获取迭代器不是使用取地址符,有迭代器的类型同时拥有返回迭代器的成员。比如这些类型都有名为begin和end的成员,其中begin成员负责返回指向第一个元素的迭代器,end成员负责返回指向容器“

2015-08-24 15:43:55 596

原创 string和vector下标运算符

vector的size函数返回vector对象中元素的个数,返回值的类型由vector定义的size_type类型。要使用size_type,需首先指定它是由哪种类型定义的。vector对象的类型总是包含着元素的类型:vector<int>::size_type //正确vector::size_type //错误string对象和vector对象的下标运算符可用于访问已存在的元素,

2015-08-24 12:07:12 1595

原创 范围for语句

C++新标准提供的范围for语句.这种语句遍历给定序列中个元素并对序列中每一个值执行某种操作,其语法形式是: for(declaration : expression)       statement 其中,expression 部分是一个对象,用于表示一个序列。declaration 部分负责定义一个变量,该变量将用于访问序列中的基础元素。每次迭代,declarati

2015-08-24 10:45:01 4885 1

原创 string::size_type类型

对于size函数来说,返回一个int或unsigned都是合情合理的。但其实size函数返回的一个string::size_type类型的值,下面就对这种新的类型稍作解释:string类以及大多数标准库类型都定义了几种配套的类型。这些配套的类型体现了标准库类型与机器无关的特性,类型size_type即是其中一种。在具体使用的时候,通过作用域操作符来表明名字size_type是在类s

2015-08-24 09:33:16 890

原创 空指针和void*指针

空指针空指针是不指向任何对象,在试图使用一个指针之前代码可以首先检查它是否为空。以下列出几个生成空指针的方法:int *p1=nullptr;int *p2=0;int *p3=NULL;得到空指针最直接的办法就是用字面值nullptr来初始化指针,这是C++11新标准引入的一种方法。nullptr是一种特殊类型的字面值,它可以被转换成任意其他的指针类型。另一种方法就如对p2的定义一样,也可以

2015-08-19 19:47:46 1089

原创 变量声明和定义的关系

为了允许吧程序拆分成多个逻辑部分来写,C++语言支持分离式编译机制,该机制允许将程序分割为若干个文件,每个文件可被独立编译。如果将程序分成多个文件,则需要有在文件间共享代码的方法。例如,一个文件的代码可能要使用另一个文件中定义的变量。一个实际的粒子是std::cout和std::cin它们定义于标准库,却能被我们写的程序所使用。为了支持分离式编译,C++语言将声明和定义区分开来。声明使得名

2015-08-19 19:27:06 425

原创 使用文件重定向

当你测试程序时,反复从键盘上敲入数据作为程序的输入,是非常乏味的。大多数操作系统支持文件重定向,这种机制允许我们将标准输入和标准输出与命名文件关联起来:$ addItems outfile 假定$是系统提示符,我们的程序已经编译为名为addItems.exe的可执行文件(UNIX中是addItem),则将上述命令会从一个名为infile的文件读取数据,并将结果写入到一个名为outfile

2015-08-19 16:25:15 1152 3

原创 注释简介

# 注释简介## C++中注释的种类2015/8/19 星期三 14:53:45 C++中有两种注释:单行注释和界定符对注释。单行注释以双斜线(//)开始,以换行符结束。当前行双斜线右侧的所有内容都会被编译器忽略,这种注释可以包含任何文本,包括额外的双斜线。另一种注释使用继承自C语言的两个界定符(/\*和\*/)。这种注释以/\*开始,以\*/结束,可以包含除*/外的任

2015-08-19 15:53:48 483

原创 初识输入输出

C++语言并没有定义任何输入输出(IO)语句,取而代之,包含了一个全面的标准库来提供IO机制。标准输入输出对象:标准库定义了4个IO对象。为了处理输入,我们使用一个名为cin的istream类型的对象。这个对象也被称为标准输入。对于输出,我们使用一个I名为cout的ostream类型的对象,此对象也被称为标准输出。标准库还定义了其他两个ostream对象,名为cerr和clog。我们通常用

2015-08-18 21:44:04 351

原创 #define详解

1.#define 的作用  在C或C++语言源程序中允许用一个标识符来表示一个字符串,称为“宏”。被定义为“宏”的标识符称为“宏名”。在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。宏定义是由源程序中的宏定义命令完成的。宏代换是由预处理程序自动完成的。  在C或C++语言中,“宏”分为有参数和无参数两种。2. 无参宏定义  无

2015-08-18 14:01:22 830

tcp-ip三卷全

tcp-ip三卷合集,高清带书签

2016-08-29

apue.3e源代码

Unix 环境高级编程 源代码,从官网上下载的

2016-03-24

[Qt5开发及实例(第2版)(含CD光盘1张)][陆文周][电子教案(PPT版本)]

解压缩时出现提示:文件数据错误,无法识别压缩格式,不用担心,仍然可以解压出来,亲测用好压解压出来了

2015-11-02

贝叶斯网络

关于贝叶斯网络的基础入门介绍,给出了几个实例

2015-09-09

Qt API 中文参考文档

Qt开发 API中文参考文档,开发者必备

2015-09-08

牛津英语语法

所有资料皆来自互联网,版权归原书作者。电子版可以自由传播,但请勿用于商业用途。 愿大家好好学习,天天向上。

2014-11-12

软件设计案例

软件设计案例实验二图书管理系统详细设计以及编写代码

2014-10-23

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

TA关注的人

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