读书笔记_C++(含五篇)

时间:2019-05-13 03:46:24下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《读书笔记_C++》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《读书笔记_C++》。

第一篇:读书笔记_C++

第三章:初步了解函数

1.一个简单的函数

函数又叫方法,是一个功能代码块,函数名前的类型表示该函数执行后的返回值类型。函数名后的括号内是表示调用者传入的参数,括号后面的大括号是函数体部份。函数名可以作为函数的指针传递。跟数组的数组名用法一样。

2.函数的传参

3.函数的返回值、参数与变量

4.函数的声明和定义

函数在被调用前必须申明,如果函数的定义在调用前,则可以不用申明。不过在大型程序中不确定其复杂的调用顺序,最好申明和调用分开。

5.局部变量

局部变量是指在函数中声明的变量,它的生命周期仅限于本函数大括号内。在内在中,局部变量存放于栈中。

6.全局变量

在任一函数的外部定义的变量叫作全局变量,它的生命周期是程序的生命周期。

第四章:C++的数据类型

1.变量的定义

变量相对于常量而言,就是可以改变值的量。它具有一个名字,一个值,值可以被改变。

2.将变量及数据存储在内在中

计算机的内存是一系列小格子型的存储空间,在我们定义变量时,计算机会根据变量的类型在内存中开僻相应的空间大小,如CHAR型占一个单元,INT型占4个单元。在未被变量赋值前,变量的值是随机的。

3.布尔型变量

布尔型变量只有两种值,1和0.通常非0的值,和1是等同的。0就是假,非0就是真。

4.字符型变量

字符型变量占一个字节,一个字节就是8位,2^8=256,一个字节可以表示256种字符。ASCII码。其中常用的a=97,A=65,1=48这三个是要记住的。字母的大小写相差32是判断第五位是1还是0.即2^5

5.wchar_t双字节型变量

双字节就是两个字节,两个字节就等于一个字。它所表示的种类达到2^16,即65535种,可以表示地球上任何语言的符号了。

第二篇:高质量编写c c++ 读书笔记

质量属性:正确性、健壮性、可靠性、效率、易用性、可读性(可理解性)、可扩展性、可复用性、兼容性、可移植

头文件:ifndef/define/endif

头文件的作用:

*通过头文件来调用库功能。在很多场合,源代码不便(或不准)向用户公布,只要向用户提供头文件和二进制的库即可。用户只需要按照头文件中的接口声明来调用库功能,而不必关心接口怎么实现的。编译器会从库中提取相应的代码。

*头文件能加强类型安全检查。如果某个接口被实现或被使用时,其方式与头文件中的声明不一致,编译器就会指出错误,这一简单的规则能大大减轻程序员调试、改错的负担。

如果一个软件的头文件数目比较多(如超过十个),通常应将头文件和 定义文件分别保存于不同的目录,以便于维护。

程序的板式:

程序的版式追求清晰、美观

在每个类声明之后、每个函数定义结束之后都要加空行。

一行代码只做一件事情,如只定义一个变量,或只写一条语句。这样的代码容易阅读,并且方便于写注释。

长表达式要在低优先级操作符处拆分成新行,操作符放在新行之首(以便突出操作符)。拆分出的新行要进行适当的缩进,使排版整齐,语句可读。

命名规则:

*标识符最好采用英文单词或其组合,便于记忆和阅读。切忌使用汉语拼音来命名。

*命名规则尽量与所采用的操作系统或开发工具的风格保持一致。

*程序中不要出现仅靠大小写区分的相似的标识符。

*变量的名字应当使用“名词”或者“形容词+名词”。

*全局函数的名字应当使用“动词”或者“动词+名词”(动宾词组)。类的成员函数应当只使用“动词”,被省略掉的名词就是对象本身。

类名和函数名用大写字母开头的单词组合而成。

变量和参数用小写字母开头的单词组合而成。

常量全用大写的字母,用下划线分割单词。

静态变量加前缀 s_。

如果不得已需要全局变量,则使全局变量加前缀 g_(表示 global)。

类的数据成员加前缀 m_(表示 member),这样可以避免数据成员与成员函数的参数同名。

为了防止某一软件库中的一些标识符和其它软件库中的冲突,可以为各种标识符加上能反映软件性质的前缀。例如三维图形标准 OpenGL 的所有库函数 均以 gl 开头,所有常量(或宏定义)均以 GL 开头。

常量:

在 C++ 程序中只使用 const 常量而不使用宏常量,即 const 常量完全取代宏常量。

需要对外公开的常量放在头文件中,不需要对外公开的常量放在定义文件的头部。

建立在整个类中都恒定的常量应该用类中的枚举常量来实现。(只能是整数)

函数设计:

值传递(pass by value)

指针传递(pass by pointer)

引用传递(pass by reference)

目的参数放在前面,源参数放在后面。

如: char *strcpy(char *strDestination, const char *strSource);

第三篇:Java从入门到精通读书笔记—c++程序员学java

Java从入门到精通读书笔记—c++程序员学java

第一章:

2分钟看完,老生常谈,即使没怎么用过java也知道这些。

第二章:

1.instanceof应该是c++中没有的,c++使用RTTI解决这个问题的,很难用。

2.super这种引用父类的方法也是比较简单的,C++中是用父类名::父类方法()解决的,有点难看。

3.自动类型转换和C++一样,精度变高的随便转,精度变低的会丢失。

4.强制类型转换只有(type)这一种,不像c++有static_cast、dynamic_cast、reinterpret_cast、和const_cast。

5.运算符什么的和c++几乎一模一样。

半小时看完。

第三章:

1.break可以跳出语句块,c++中没有语句块。语句块的定义就是在一段语句前加上花括号和冒号;

其他基本上和c++一样,5分钟看完。

第四章:

1.java数组越界会在运行时抛异常,c++不会,声明数组的方法也有些不一致。

java 声明数组的所有办法

int[] a = new int[4];

int a[] = new int[4];

int[] a = {1, 15, 26};

int a[] = {1, 15, 26};

2.java的数组是一个对象,自带length属性,使用简单。c++的数组不自带方法和属性,要知道数组长度只能sizeof(arrayObject)/sizeof(int)。当然如果使用STL中的vector之类的也和java一样简单。

3.java的所谓数组赋值(或者叫数组拷贝)其实就是c++中的两个数组指针的赋值,java没有指针,所以作者费了一大堆口水。好在java有垃圾回收,要不然一个指针的内存就算泄露了。至于真正的数组内容赋值,是使用System.arraycopy(ir, srcPos, ir, destPos, length);而C++一般使用memcpy等函数。若使用STL中的vector,那么就看vector的拷贝构造函数怎么写的,应该是vector的对象赋值过去而不是指针指过去。

4.重温了冒泡排序(时间复杂度O(n2)),和快速排序(最坏情况的时间复杂度为O(n2),最好情况时间复杂度为O(nlog2n))。

5.For-Each语法被引入java了,在很多地方用起来真是简单。Python和c#早就支持了,c++中虽然STL的algorithm包中引入了for_each,但是由于需要使用函数指针还是略显繁琐。

这章挺多,看了一个多小时啊!

第五章:类和对象

1.Java中方法的重载和c++的一样,都是通过参数的不同来区别。但是c++中可以设置默认参数,而java不可以。

2.java中的对象大部分只能new出来,或者clone出来,或者反射出来,而不能直接在栈上定义出来。而c++的对象在栈上和堆上创建的都很多。

3.基本类型的参数传递,java和c++都是传值。对象的参数传递,java是传引用,c++是拷贝,也就是传值。其实c++中大部分时候也是传引用或者传指针,但java没有指针,也没有选择耗时耗空间的拷贝,只能传引用了。

这章对于c++程序员来说太简单,几分钟过一遍就可以了。

第六章:继承

1.方法被覆写后,如果要调用父类的方法,c++必须用父类名::方法名,而java用super.方法名即可。

2.多态和动态绑定,java和c++几乎一样,都很简单。

3.final关键字:java中的final关键字可以将一个类限制为无法继承的,同样的还有C#中的sealed关键字。而c++是没有这个玩意的。

4.java的抽象类和c++几乎一样。

5.java是独根语言,引入了Object类,它的clone方法就好像c++中的拷贝构造函数,它的equals方法是用来比较内容的,而toString方法是将对象作为字符串输出的。

这章对于c++程序员来说同样简单,几分钟过一遍就可以了。

第七章:接口

1.java中有接口。C++没有,唯一类似的是含有纯虚函数的虚类(没有纯虚基类这个说法)。但是COM、CORBA等中间件中都有IDL语言(接口定义语言),使用这些中间件的c++程序员也没有少写接口。

2.接口实现的一些规定:

1)如果实现接口的不是抽象类,则必须实现其接口的所有方法才能被实例化;

2)接口中所有的方法默认为public;

3.接口可以用来实现多态;

4.java的内部类和c++差不多,都没人关心,最多懒得想名字的时候用用那个匿名内部类(例如什么UI的响应函数)。

5.java的对象克隆,吹了一堆就是个c++中的拷贝构造函数。所谓什么“浅克隆、深克隆”问题,就是c++中拷贝构造是遇上类中定义了指针的问题。C++程序员一望即知。

接口是为了维护单继承机制弄出来的,花半小时看看还是值得的。

第八章:面向对象编程

C++程序员不用看。

第九章:异常处理

1.java的异常处理中有finally语句块,而c++中没有,所以程序员要自己想办法来处理异常发生后诸如“资源释放”之类的问题;

第十章:线程

1.java语言自带线程机制,c++目前还是不带线程机制的。虽然boost::thread库也被众多c++程序员广泛使用。但是windows下用得最多的还是windows SDK自带的线程函数;而linux下用得最多的还是pthread。另外还有一些号称同时支持多个平台的多线程库。

2.java多线程有两种方法实现,第一是派生Thread类,第二种是实现Runnable接口。

3.java线程分为4种状态:new、runnable、non runnable和done,这和其他线程库大同小异;

4.run、start、stop、sleep、suspend、resume、yield、wait、notify和notifyall等方法的含义也和其他线程库一致。但suspend、resume和stop等方法是不建议使用的,因为可能会导致死锁。

5.java可使用join方法来等待线程结束,而在某些线程库中join方法经常是不可用的。

6.java的互斥使用synchonized关键字实现,它很类似于boost.thread中的lock(mutex),只不过它是对线程对象隐含的锁加锁。其实这很不利于新手理解。另外还介绍了synchonized的一些乱七八糟的用法,相信对于新手这只有反作用。

这一章对于线程,介绍得比较浅显,实现简单的多线程应该没问题,但是稍微复杂一点的也许就需要其他的开发包了。Java线程连个Mutex类都没有,这是最让我吃惊的,仅仅使用synchonized来实现同步、互斥、信号量该多麻烦啊,也许是我还没弄懂java多线程吧。

第十一章:图形编程

1.IDE的年代,GUI还是画出来吧。Java中也就Layout类需要看看,其他大部分Layout类也是凑数的,根本不会有人用。

第十二章:事件处理

随便看看了解即可,新手可以试着写写代码,老手直接IDE中添加事件即可。

第十三章:Swing用户界面设计

同第十一章,随便看看即可。界面一般有专人搞,普通程序员能看懂就行了。

总结:《java从入门到精通》这本书整体质量尚可,c++熟手大概一到两天可以看完,掌握程度在80%左右。看完后能够有一些基本概念,可以写一些基本程序。看完后离入门还早,更谈不上精通了。

说说我看完后的两个迷惑之处吧,第一是从来没有提到java中的对象、常量、代码所在的堆、栈等内存分布情况,对于c++程序员来说是很难适应的,可能是篇幅的原因吧;第二没有介绍垃圾回收机制,这可能是c++程序员更感兴趣的吧。

第四篇:C++常用填空题

一、单项选择题(共20题,每题1分,共20分)

6、对重载函数形参的描述中,错误的是 D

A.参数的个数可能不同

B.参数的类型可能不同

C.参数的顺序可能不同

D.参数的个数、类型、顺序都相同,只是函数的返回值类型不同

9、通常的拷贝构造函数的参数是

A. 某个对象名 B.某个对象成员名

C. 某个对象的引用 D.某个对象的指针名

10、关于构造函数特点的描述中,错误的是

A.定义构造函数必须指出类型

B.构造函数的名字与该类的类名相同

C.一个类中可定义0至多个构造函数

D.构造函数是一种成员函数

12、关于常成员的描述中,错误的是

A.常成员包含常数据成员和常成员函数两种

B.常数据成员必须是公有的C.常数据成员要使用构造函数成员初始化列表进行初始化

D.常对象只能调用它的常成员函数,不能调用其它的成员函数

13、关于友元函数的描述中,错误的是

A.友元函数不是成员函数

B.友元函数只能访问类中私有成员

C.友元函数破坏隐藏性,尽量少用

D.友元函数说明在类体内,使用关键字friend18、能够释放对象所占资源的是(析构函数)

二、填空题(共9题16空,每空1分,共16分)

1、函数重载时,编译系统会根据_形参的类型或形参的个数 来区分。

3、若希望用一个已有对象来构造另一个同类型的对象,可以使用拷贝构造函数来实现。

4、静态成员属于类,而不属于任何一个对象,它被同一个类的所有对象共享。

5、类的继承方式有私有 继承、公有 继承和保护继承。

6、重载运算符的含义必须清楚,不能有二义性。

7、按照联编进行阶段的不同,联编方法可分为两种: 动态联编 和静态联编。

8、当基类中的某个成员函数被声明为虚函数后,此虚函数就可以在一个或多个派生类中被重新定义,在派生类中重新定义时,其函数原型,包括返回类型、参数名、函数个数、参数类型以及参数的顺序都必须与基类中的原型完全相同。

1.在类中必须声明成员函数的原型,成员函数的实现部分可以写在类外。

2.如果需要在被调函数运行期间,改变主调函数中实参变量的值,则函数的形参应该是引用类型或指针类型。

3.抽象类只能作为基类使用,而不能声明它的对象。

4.进行函数重载时,被重载的同名函数如果都没有用const修饰,则它们的形参个数或类型必须不同。

5.通过一个常对象只能调用它的常成员函数,不能调用其他成员函数。

6.函数的递归调用是指函数直接或间接地调用自身。

7.拷贝构造函数的形参必须是本类对象的引用。

第五篇:C++ 心得

2010.10.13

今天在学习用windows自带的dos命令提示符窗口的命令:

列文件名dir,创建文件夹md(其他文件不能通过该命令创建,即使用了该类文件的后缀名,也只是将该名称和后缀名一块作为了一个新建文件夹的名字,例如md aa.txt的作用是建立一个名为aa.txt的文件夹),删除文件夹下的所有文件del(但是不包括该文件夹下的子文件夹。网上还有人说用deltree可以删除目录树,但是我试了不管用),删除文件夹rmdir或者rd(必须是空的,不能含文件或者文件夹),重命名文件或者文件夹ren x y(将x改名为y,如果是文件则应包括后缀名,如果是文件夹只是名字就可以),移动文件或者文件夹(没找到),复制文件copy a b(a和b可以是文件夹,这时候会复制a中的所有文件但不包括子文件夹到b中,遇到同名文件会询问是否覆盖;如果a和b是文件,则要包括后缀名,而且不只是相同后缀的可以复制,例如两个txt文件,而且非同后缀的文件也可以,例如txt复制到doc文件或者rar文件,这种复制后会连txt的属性一起复制给doc或rar,包括大小和占用空间这两个属性,doc的话还是可以打开,但是rar会损坏掉),创建文本文件copy con A.txt(或者用edit A.txt,区别是前一个会在输完命令后让你再输入文本内容,输完用ctrl+z结束,而后一个会跳出一个类似turbo-c的界面让你输入文字再保存),以树形结构显示出目录tree(用参数-f 将列出第个文件夹中文件名称)。

然后我想解压一个再f盘的压缩文件B,发现在ms-dos里进入B的目录后,直接输入

B.rar或者B.rar /x都会直接打开B,和双击B的效果相同(之前装.NET 3.5 Framework的时候用过这个命令dotnetfx35.exe /x来解压,我想用类似命令解压B的,结果证明不行,上面这个命令应该是只针对.EXE文件有效果,而且不是普通的EXE文件,应该是压缩类的exe文件)。但是我在实验exe文件的时候发现一个有用的办法。平时在有些文件夹里会有一些exe文件,双击之后有些可以运行,但是dos窗口一闪之后就没有了,看不到内容,但是先打开ms-dos,再进入该exe文件目录后输入名称回车则会看到运行内容,并且ms-dos窗口不会关闭。这可以用到C++编程之中。C++编程中,程序运行后有时候也会出现上面的情况,dos窗口一闪而过,看不到运行结果,以前都是直接在程序末尾加入system(”pause”)命令,现在也可以先将程序编译并生成exe文件,再打开MS-DOS,进入exe文件所在文件夹,输入该exe名称的方法来运行,这时候一定可以看到结果。

下载读书笔记_C++(含五篇)word格式文档
下载读书笔记_C++(含五篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    C++题

    1、_____重载 ___不是面向对象系统所包含的要素。 2、___构造函数_____的功能是对对象进行初始化。 3、在下列关键字中,用以说明类中私有成员的是_private___。 4、C++对C语言作......

    C++心得体会

    C++学习心得体会 通过一学期对C++的学习,我感觉学习C++是有一定难度却又是非常有趣 的科目。也是很有帮助的。 深刻感受到如果真的想要学好这么课,或者说是从这门课学到点......

    C++实验

    上机实验: 1、 回文是指正读,反读均相同的字符序列,如“abba”和“abdba”均是回文,但是“good”不是回文,试用STACK类编写该程序。 #include #include #include int IsPalind......

    C++实验报告

    姓名:XX 学院:XXX 班级:XXX 学号:XXX - 1 i++; } while(i......

    c++学习方法

    学习C++应该看的书 初级:语法/语意(C++) 《Essential C++ 中文版》 ,侯俊杰 译,282页 《C++大学教程(第二版)》,邱仲潘等 译,816页 《C++ Primer 中文版》,侯俊杰 译, 《标准C++宝......

    什么是c++(本站推荐)

    什么是c++? C++ C++这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,“CPP”。 它是一种使用非常广泛的计算机编程语言。C++是一种......

    c++作业

    P179 5.9.2(11) 1. 意图 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 2. 动机 对一些类来说,只有一个实例是很重要的。虽然系统中可以有许多打印机,但却只应该有一......

    c++学习心得

    c++学习心得 2008-03-12 16:24 为初学者指路 首先声明,我可不是什么高手,也就是刚脱贫。因为运气很好,买到了几本好书,在学习过程中几乎没走什么弯路,没费什么劲就入门了,现在一般......