- 博客(13)
- 收藏
- 关注
原创 文件I/O的两种方式
文件的I/O操作有两种方式:一是,利用系统调用;另外一种方法是利用C语言提供的标准I/O库。 在UNIX系统调用函数中常用于文件I/O的函数主要有五个,open,read,write,lseek,close。这种方式又称为不带缓冲的文件I/O。而C语言标准库提供的函数如fopen,fputc等则称为带缓冲的文件I/O。那么如何理解什么叫带缓冲的文件I/O呢?带与不带缓冲有什么区别?首先需
2012-09-03 00:32:21 1481
原创 物理层
1.物理层的任务(物理层不是指具体的传输媒体)物理层上所传送数据的单位是比特,物理层的主要任务就是透明地传送比特流,其所要考虑的就是需要用多大的电压代表“1”或“0”,怎样才能在各种传输媒体上传输比特流,而不是指具体的传输媒体。出于经济上的考虑,数据在通信线路上的传输方式是串行传输,而在计算机内部采用并行传输,所以物理层要完成传输方式的转变。 2.数据通信的基础知识模拟信号(连
2012-08-28 15:20:02 3980
原创 Essential C++学习笔记-----第六章
1.template型别参数的传递方式选择当参数型别确定的情况下,我们选择传递方式非常简单,如果是内建型别如int,double等,我们选择按值传递,如果是class类型等,我们选择按址传递(引用传递)这样的效率会高点。但如果是template型别的参数,因为其实际绑定的型别可以是内建型别,也可以不是,所以就有点麻烦。建议一律采取引用传递,因为这样的话,即使实际绑定的是内建型别,效率相
2012-08-19 23:52:07 543
原创 Essential C++学习笔记------第五章
面向对象编程风格 第四章中的基于对象编程风格,主要特性是封装,所谓封装是将事物的属性和在于它之上的操作封装起来成为一个类或对象,但对于类间存在的关系则需要面向对象编程模型,面向对象的主要特征是继承和多态,继承可以让我们定义一群互有关系的类(如基类和派生类),并且共享公共接口。而多态得以让我们以一种以型别无关的方式来操作这些类对象,我们通过抽象基类的指针或引用来操控这些公共接口,而实际
2012-08-19 17:38:40 412
原创 Essential C++学习笔记-------第四章学习笔记
基于对象的编程风格4.1类的定义类的定义由两部分组成:类的声明及紧接在声明之后的主体.主体部分由大括号括住并且以分员结束.类定义的框架:class 类名{public://这的访问权限书写形式与java不同.............//对外提供的公开接口private:...............//内部细节};//记得加分号结束 一个例子:
2012-08-10 18:33:44 535
原创 const关键字
1.const 常量在一个变量前面加上const关键字,就可以将这个变量定义为常量,那么,这个变量就不能被修改了,任何试图修改这个变量的值的操作都会报错.如:const int bufsize=512;//因为常量值不能被修改,所以定义的同时必须初始化 bufsize=1024;//编译报错2.const修饰函数参数注意,const只能修饰输入型形参,不能修饰输出型形参
2012-08-10 18:03:37 468
原创 Essential C++学习笔记-----第三章 泛型编程
1.何谓泛型算法 所谓泛型算法,提供了许多可施于容器类及数组上的操作行为,之所以将这些算法称为泛型,是因为这些操作与它们所要作用于的对像的数据类型(如,int,double等)无关,并且与容器类型(如,vector,list,map等)也无关.1.1如何实现与作用对像的数据型别(类型)无关 这正是应用了前面第二章中我们学到的模板函数来实现的.
2012-08-07 00:20:45 425
原创 Essential C++学习笔记-------第二章
1.传值与传址1.1索引(也叫化身,英文名reference) 声明一个reference,只需要在类型和名称之间加个&号 如: int val=2; int &rval=val;//定义一个reference,叫rval,用于代表val,即作为val的化身 int *p=&val;//这是个指针变量注意,索引只要绑定了一个对象后就绑
2012-08-02 17:22:14 542
原创 Essential C++学习笔记-------第一章
1.命名空间using namespace std;//std是标准库所驻的命名空间名称.什么是命名空间?所谓命名空间是一种将程序库封装起来的方法,可以将多个库封装在一个命名空间内. 2.初始化的两种方法. 2.1用赋值运算符'=" 如,int num=0; 2.2构造函数法 如,int num(0); 这种方法比较适合于当一个对象含有多个成员时
2012-08-02 16:19:20 330
原创 C++Primer学习笔记-----第一章(快速入门)
C++的输入输出 首先,C++并没有直接定义任何输入输出(IO)语句,输入输出功能主要是由标准库提供的.并且大多数情况下我们用到的都是标准库中的iostream库.iostream库中有两种类型,分别是istream和ostream类型,分别表输入输出流.标准库中提供了四个IO对像,分别是:cin("see-in"),cout,cerr,clog,其中除了cin对是is
2012-07-29 23:43:21 476
原创 c语言fopen函数中二进制模式和文本模式的区别
曾经在写一个下载网页源代码的程序中,用到了fopen函数,当fopen函数用文本模式写入时,发现和原网页源代码一样,但是用二进制模式写入文件时发现在换行的地方都出现了黑的小方块,并且并没有换行。 在网上查了一下才发现,这是因为windows 和linux 、c语言的换行标志不同所造成的。在windows中以\r\n两个字节表换行,而linux 、c语言都是以\n表换行。 当f
2012-06-03 15:57:44 2359
转载 C语言内存分配方式
内存分配方式有三种:(1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static 变量。(2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。(3) 从堆上分配,亦称动态内存分配。程序在运
2012-06-03 15:34:51 351
原创 C语言参数传递
C语言参数传递方式有传值和传地址两种方式。 1、传值方式 原理:形参和实参占不同内存单元,传递的实际上是实参变量或表达式的一个拷贝副本,将这个副本值传给形参,形参内存单元内容保存的正是这个副本值,相当于给形参进行初始化,形参的值发生变化也不会传回给实参,因此是单向传递。 例如: void increase(int
2012-06-03 15:20:03 3073 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人