摘要: 经过大半学期的学习和练习, 我们把学到的东西综合起来。通过这门课,自己的确学到了好多东西.其实并不是说讲课有多棒,一是因为讲课的次数其实并不多,二是讲课的内容其实感觉并没有太大的提高,在课程快结束的时候,我现在还能够有记忆的知识性内容,也许只有C++11的一点点知识.但是之所以说通过这门课自己学到了好多,是因为这门课布置的作业和这门课一起上课的同学.先说作业,回顾以前做过的作业闲来无事统计了一下作业的有效代码量记得这门课刚开始的时候老师发了一张表统计大家目前的代码量...因为刚刚参加完暑期ACM集训....自己很嚣张的填了五万行...现在看来真的是Too Simple,Sometimes Na 阅读全文
posted @ 2013-12-09 09:23 VeryBigMan 阅读(1479) 评论(4) 推荐(2) 编辑
摘要: 写代码爽还是读代码爽?当然是写代码爽好吧...读代码明显是读+写两倍的工作量好么...本次作业要求:1) 把程序编译通过, 跑起来。 读懂程序,在你觉得比较难懂的地方加上一些注释,这样大家就能比较容易地了解这些程序在干什么。 把正确的 playPrev(GoMove) 的方法给实现了。 如果大家不会下围棋,那就需要大家实地或者上网练习一下围棋的死活,提子是怎么回事。这个应该一个小时就能搞定。注释的问题放到后面的问题有统一解决,这里先实现PlayPrev方法.通过仔细研读代码(¥#@#¥@#¥!#¥&8),我们可以知道这个GoMove里面的DeadGroup存的是被吃掉的子,那么我们就需 阅读全文
posted @ 2013-11-25 08:53 VeryBigMan 阅读(482) 评论(1) 推荐(0) 编辑
摘要: 本次作业要求:1. 了解Lambda的用法计算“Hello World!”中a.字母‘e’的个数b. 字母‘l’的个数2. 练习使用智能指针 打印“Hello World!”循环右移n位的结果 Example: n = 1, output = “!Hello World” n = 3, output = “ld!Hello Wor”这次作业比较简单,也没有什么好说的,第一个采用Lambda表达式确实比较方便,只要这样一行代码就可以搞定1 cnt=count_if(str.cbegin(),str.cend(),[=](char tempCh){return tempCh==ch;});第二个. 阅读全文
posted @ 2013-11-25 08:45 VeryBigMan 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 1. 理解C++变量的作用域和生命周期a) 用少于10行代码演示你对局部变量的生命周期的理解 1 /*------局部变量的生命周期的理解------*/ 2 void test1()//在if代码块中中定义的string局部变量str在超出该代码块时已经无法引用,会报错"未声明标识符str",即str已经被销毁 3 { 4 if(true) 5 { 6 string str; 7 str="Hello,World"; 8 } 9 cout sp(new int(10)); //一个指向整数的shared_p... 阅读全文
posted @ 2013-11-17 23:40 VeryBigMan 阅读(610) 评论(0) 推荐(0) 编辑
摘要: 本次作业要求为阅读C++11的新特性并写博客分享.在这次作业之前,我对C/C++语言标准的印象只停留在C89 C99什么的...对于C99较C89的改进地方,我觉得很方便的地方也许只有说在C99中,允许程序猿在for语句的初始化部分定义一个或多个变量,这些变量的作用于仅限于本for语句所控制的循环体内,于是我们终于可以不必在循环开始前定义长长的一坨int i,int j,int abcdefg了...完全可以像下面这样1 for(int i=0;i={ "first", "second", "third"};3 map singers 阅读全文
posted @ 2013-11-10 22:34 VeryBigMan 阅读(429) 评论(1) 推荐(0) 编辑
摘要: 本次作业要求设计服务器和客户端,由于之前对网络编程是一窍不通,上上节课听宗学长讲述Tcp的时候心里想这个东西还真是高大上啊一点儿都听不懂,但是上个周末看了看C#网络编程的博客和书之后,发现这个东西入门其实很简单.经过几天的需求分析代码维护之后,我们的作业已经初具成果,先展示一下效果.服务器:客户端:是不是很华丽的说。。。感觉就像做了一个实验室的小项目一样。。。代码量有一千的说。。。当然如果要做的更好还可以加很多优化。。。但是(见最后吐槽)。。下面根据作业要求来展示一下我们的设计:多人游戏, 每个选手有一个客户程序在运行, 和一个服务器通过互联网的某种协议交互。我们采用的是TCP编程,遵循TCP 阅读全文
posted @ 2013-11-03 19:23 VeryBigMan 阅读(367) 评论(1) 推荐(0) 编辑
摘要: 或许这种东西,就该叫做深深的绝望吧..题目要求:第四次作业,构造一个方阵将指定单词填入stage 1:每个单词只出现1次,且八个方向各至少有两个单词stage 2:矩阵长宽相等stage 3:方阵的四个角都要参与单词的构建算法思路:课上将这个题的时候我和z-mac讨论了一下,通过研读样例,我们认为大部分单词都是斜着填进方阵的,所以我们在用8个单词构造好边框后,将剩下单词按照四种对角线的方向依次填入,最后再扫一遍矩阵将矩阵压缩就好.但是这种方法无法满足长宽相等的条件.前天想了一个简单粗糙的方法,虽然能够满足题目的所有要求,但是构造的方阵缺少美感,尤其是在我刚刚看了肖犇犇和鲁大师的博客之后,突然感 阅读全文
posted @ 2013-10-27 20:51 VeryBigMan 阅读(239) 评论(0) 推荐(0) 编辑
摘要: homework -03ps:为毛在首页显示的时候一点文档格式都木有了.........请点开文章看吧还是~!结对编程人员:11061190 李孟 Lmeng11061192 周敏轩 Z-Mac11061193 薛亚杰 VeryBigMan我们三个人将以下材料仔细阅读,觉得十分受益。下面是我们的总结和分享:1)代码规范与代码复审 代码规范:一句话,我们的代码是要让其他人轻易看懂。 这就要求什么? 当我们拿汉语来作类比的时候,我们就能理解这个问题。为什么我们能交流无障碍?因为所有中国人都看得懂中文字!为什么?因为有一本字典(其实就是规范)告诉我们哪个字是什么意思,组成一个词又是什么意思?这... 阅读全文
posted @ 2013-10-20 22:20 VeryBigMan 阅读(313) 评论(1) 推荐(0) 编辑
摘要: 满篇英文对一个非单词狂魔来说真的是很吃力啊…敏捷软件开发方法是一种从1990年代开始逐渐引起广发关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力,他们的具体名称、理念、过程、术语都不尽相同,相对于“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重作为软件开发中人的作用。敏捷软件开发宣言对于敏捷软件开发方法来说,这段话给我留下了深刻的印象宣言中还包括以下原则:对我们而言,最重要的是通过尽早和不断交付有价值的软件满足客户需要。我们欢 阅读全文
posted @ 2013-10-15 22:18 VeryBigMan 阅读(518) 评论(0) 推荐(0) 编辑
摘要: 如果用两个字来形容这次的任务,那一定是"卧槽"结对编程人员177 吴渊渊193 薛亚杰照至少一张照片,展现两人在一起合作编程的情况。说明结对编程的优点和缺点。优点: 程序员之间可以互相帮助,得到能力上的提高; 增强和提高代码的质量,并可以有效的减少BUG; 降低学习成本,共享编程经验可以使得代码工作时间大大减少; 互相讨论问题。更快更有效的解决问题。缺点: 程序员的磨合需要时间,优点:coder的大部分错误可以在第一时间被reviewer发现,这省下了很多本应当在项目测试阶段花费的时间; 结对编程写出的每一个程序都体现了两个组员中的较高水平; 两个人轮流交换角... 阅读全文
posted @ 2013-10-08 22:55 VeryBigMan 阅读(799) 评论(3) 推荐(1) 编辑