摘要: 使用引用参数的主要原因程序员能够在函数中修改调用函数参数中的数据对象通过传递引用而不是整个数据对象,可以提高程序的运行速度。尤其是当数据对象较大时,如结构和类对象。对于使用传递的值而不作修改的函数:如果数据对象较小,如内置数据类型或者小型结构,则按值传递。如果数据对象是数组,则只能使用指针,并且将指针声明为指向const的指针。如果数据对象较大,则使用const指针或者const引用,节省复制结构所需的时间和空间。如果数据对象是类对象,则使用const引用。类设计的语义常常要求使用引用。这是C++增添引用这个特性的主要原因。对于修改调用函数中数据的函数如果数据对象是内置数据类型,则使用指针。如 阅读全文
posted @ 2014-01-19 11:22 而远之 阅读(1382) 评论(0) 推荐(0) 编辑
摘要: Type value;while(inFile >> value){ //loop body goes here. }if(inFile.eof()){//terminated with EOF}else if(inFile.fail()){//terminated with mismatch}else{//terminated with some reason unknown} 阅读全文
posted @ 2014-01-17 02:08 而远之 阅读(162) 评论(0) 推荐(0) 编辑
摘要: windows下允许文件名中含有空格。当把文件名中含有空格的文件拖到显示屏上时。系统会自动加上双引号,文件名不含空格的则没有。。fstream对象用含有双引号的文件名打开文件时会失败。所以读取文件名时,一方面要注意不要使用cin >> filename。。。因为这样只能读取一个字符串。含有空格的文件名无法读取完整。另一方面也要注意处理双引号和非法字符、、:*?"| 阅读全文
posted @ 2014-01-17 01:46 而远之 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 如果递增表达式的值不被使用,纯粹使用表达式副作用来改变变量值,则++x;与x++;在作用上效果一样。但是对于用户定义的,且有用户定义的递增和递减操作符,前缀的效率更高一些。因为用户定义前缀时,将值加1,然后返回结果。但是后缀版本,首先赋值一个拷贝,将其加一,然后将复制的拷贝返回。。所以对于类而言,前缀版本效率更高。从语义角度来看,前缀参与表达式运算时返回的是x + 1。比较符合++x;的作用。所以C和C++中令x自增时,养成 ++x;的代码风格更好。。在for(;;++x){;}中也是如此。逗号在C/C++中有两个作用。将变量列表中相邻的名称分开(多用在声明中)列表就是{}(貌似这个名称在Py 阅读全文
posted @ 2014-01-15 21:38 而远之 阅读(529) 评论(0) 推荐(0) 编辑
摘要: C++中标准输入cin有多种输入方式。。这篇文章罗列的还是简要易懂的。C++输入cin详解。。。如果只是简单的使用cin>>的话,会单个token的读入。但是会忽略换行符,空格,制表符等空白符。其中cin.getline()和cin.get()都会遇到一个非常棘手的事情,就是当输入的字符串,或者说缓冲区中的字符多于第二个参数int的要求时。缓冲区中残余的字符串怎么处理cin>>cin>> var,只会忽略空白符,按照参数var的格式,读入一个合法的字符串。剩下的字符就残留在缓冲区中,不会影响任何状态。下一次就接着上一次读取的位置开始读取缓冲区。对于代码int 阅读全文
posted @ 2014-01-15 20:51 而远之 阅读(12790) 评论(0) 推荐(2) 编辑
摘要: c和c++都是在实践中发展起来的语言。实用性极强。c是与UNIX/Linux的发展相辅相成的。而C++是B.S为了摆脱c与硬件以及底层过于紧密的苦恼,而开发的语言。C++可以说就是c语言的超集。任何c语言的程序理论上都应当是合法的C++程序。 C语言的特点:过程性编程和结构化编程。函数作为编程的主要载体和任务模块。一方面用for,while,if-else为代表的分支来规划程序结构,另一方面采... 阅读全文
posted @ 2014-01-14 11:23 而远之 阅读(1228) 评论(0) 推荐(1) 编辑
摘要: Ctrl + Space组合键可以调出中文输入法安装vim。总是文件解压失败。使用以下命令行sudo rm /var/lib/apt/lists/* -vfsudo apt-get updatesudo apt-get install vim即可解决。中间要下载最新软件,选择Y。建议同时安装ctags vim-doc vim-scripts 软件包CTRL+C是强制中断程序的执行。而CTRL+Z是将任务中断,但是此任务并没有结束,它仍然在进程中,只是维持挂起的状态,用户可以使用fg/bg操作继续前台或后台的任务,fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台执行. 例如: 当 阅读全文
posted @ 2013-03-29 00:47 而远之 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 模块模块用来组织代码,包是用来组织模块的。自我包含并且有组织的代码片段就是模块默认搜索路径修改:一个是启动Python的shell或命令行的PYTHONPATH环境变量。在解释器里的sys模块的sys.path变量保存这些目录路径。名称空间是名称(标识符)到对象的映射。执行期间有两个或三个活动的名称空间:局部名称空间,全局名称空间,内建名称空间。Python解释器会首先加载内建名称空间,随后加载执行模块的全局名称空间。执行期间调用函数,创建出局部名称空间__builtins__模块和__builtin__模块:__builtins__模块包含内建名称空间中内建名字的集合。大多数来自__buil 阅读全文
posted @ 2013-01-30 13:41 而远之 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 更多快捷键组合可在Eclipse按下ctrl+shift+L查看。在“Windows->Preferences->General->Keys”下面可以设置自己喜欢的快捷键。Ctrl+1快速修复(最经典的快捷键,就不用多说了)Ctrl+D:删除当前行Ctrl+Alt+↓复制当前行到下一行(复制增加)Ctrl+Alt+↑复制当前行到上一行(复制增加)Alt+↓当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑当前行和上面一行交互位置(同上)Alt+←前一个编辑的页面Alt+→下一个编辑的页面(当然是针对上面那条来说了)Alt+Enter显示当前选择资源(工程 阅读全文
posted @ 2013-01-27 16:49 而远之 阅读(250) 评论(0) 推荐(0) 编辑
摘要: /**** 在写笔记之前,首先吐槽一下,感觉Python核心编程这本书不是太适合对Python入门的人使用。*读这本书让我有种大一刚学C语言读 <The C Programming Language>的感觉。*可能因为我的学习能力不是很强吧,但是一本入门级的书本最好是有个顺序的使用一门语言的语法。 *在前面尽量不要使用太多的后面的语法,否则很容易让学习者迷乱。就我个人阅读习惯,我不是很喜*欢在书本中看见一句“如果对这段代码了解更多,请先阅读第N章。”。 * 再者,这几天过的太懒了,除了玩,什么都没干。本来计划的今天应该是看到第13章的,现在才 *刚把第10章异常看完。而且除了挑几个 阅读全文
posted @ 2013-01-26 14:56 而远之 阅读(229) 评论(0) 推荐(0) 编辑