前几天有点空闲时间,跟一哥们聊天,他还是个研究生,高中一个寝室的,关系特别好,他马上就要毕业了,聊着聊着,我突然就给他出了一个简单的题目:

    char* srcStr = "hello,world!";

    int srcLength = strlen(srcStr);

   char* pDesStr = new char[srcLength];

   strcpy(pDesStr, srcStr);

   delete  pDesStr;

    我问他上面语句写的怎么样,有问题没有? 他想了半天,说没看出来,我就给他解释:首先分配内存要注意了,应该是 char* pDesStr = new char[srcLength + 1];   其次,释放内存时候要注意,是:

 delete[] pDesStr;

    我给他出这个问题也没怎么苛刻他,很简单,但确很容易出错,有些人可能知道要+1,但忙了就忘了加了,但这不是借口,说明你没有形成习惯,如果是一个老手,我相信这个错误是绝对不会有的,因为在他的世界里面没有这个写法了,我想说的是,一个研究生对于这样的错误都没有看到,我想才出来的本科生能看到的有多少呢?有人说学c++很难,大部分可能都觉得被指针搞的云里雾里,我觉得难的地方不仅仅是那,难得还是细节,有很多细节都需要注意,其次我觉得还有一个地方难的是合作,这们语言非常灵活,只有你想不到的,没有你做不到的,但灵活之后反过来就是要正真掌握它也不容易,有时候你跟你小组的合作的话,不同的人会有不同的写法,碰到一个注意代码规范的伙伴是你的幸运,但有时候你碰到的就是那些不注意规范的人,你就很头疼了,你想说又不能说,你想改吧又不是你的活,吃力不讨好。话说回来,作为大学生,我是个过来人,回想一些这一两年的经历,我觉得最大的成长还是更加注重细节了,调试代码更胸有成足了,但反过来想如果我们在大学里就开始注意自己的细节岂不是更好?大学里面有很多代码写的不错的人,但我相信他们在细节方面应该还是做的少,因为没有多少项目,或者说真正需要考验的项目,大多都是把功能实现就行了,通过和哥们的聊天也印证了我的想法。

    所以我想说,在校的大学生可以多培养一下自己在这方面的意识,程序不是要有多炫,程序也不一定要有多庞大,只要你能把你学到的用进去,哪怕不对也没关系,你能认识到问题就是你最大的收获,对于程序员来说,失败真的是成功之母!对于这方面的书籍我要推荐一本书,是肖舸先生的《0 bug c/c++商用工程之道》,这本书对于这方面的讲述的很好,虽然有些东西我不敢苟同,但我还是觉得对于我有很大的帮助,学习即要谦虚,也要有自己的想法,是不是?我相信假如在大学里面就开始注意这些,你的c++不会很差的,同时你毕业以后一定会很受大家欢迎的!

   大学生,好好努力吧,不要以后才后悔,活着当下,把握当下,才能成为人上人!