homework07
我阅读的:
http://www.cnblogs.com/zhuyp1015/category/370450.html
http://blog.csdn.net/hzyong_c/article/details/8273884
http://zhangjunxin520.blog.163.com/blog/static/3050370320116210101891/
http://msdn.microsoft.com/zh-cn/library/hh279654.aspx
我的想法:
说实话,接触C++到现在也没有多长时间,更多的时间都是用C完成老师布置的作业,此外很少编程。在上课之前根本就不知道C++还有版本什么的说法,只是单纯的知道C++要比C高端,然后应该学着用一用,开始慢慢接触,说白了就是用C++的东西替换C的东西。所以说C++的特性对我来说都是新特性。。。所以在阅读的过程中无论新旧特性都只有一个感觉——“原来还可以这样,好神奇”。说到提问题的话,我觉得我还没有掌握到能提问题的地步,所以就一点一点看,一点一点写好了。
除了上面的几个网址之外我还看了几个同学的博客,用来让我感觉一下所谓的“新”和之前的“旧”的区别,那么接下来我就说一下我能感受的到的新特性吧。
1.lambda表达式
这个是似乎对我这种写一点想一点的人的很大的福利,这个东西支持在需要使用某函数的时候临时定义函数(我是这样理解的),对于一些并不是在整个工程中都用的到的简单的统计用途的函数,甚至是只是在当前位置会用到的函数,就不需要跑到当前函数体外面再去定义,然后再调用。通过简单的临时定义,使代码看起来更加简洁,可读性提高,至少不用在读代码的时候看到一个不认识的函数就跑出去找半天,找到之后再找回来。一些简单的用法已经试验过,还是蛮舒服的,不过还有些看不太懂,继续学习。
2.auto
这个似乎很久以前就有,叫什么“指定自动存储类型对象”,这个不是很清楚。但是新的功能使变量的声明得到了极大的便利,凡是在声明变量时候就给定一个值的话就可以统一用auto声明,这样似乎就不用费劲去记那些纷杂的数据类型了,即使没有初值我们也可以随便给变量赋一个无关紧要的值。当然这样的东西也是对我们对各种常量数据类型区别的一个要求,如果不清楚就随便使用的话可能是自找死路。
3.nullptr
以前一直只知道NULL指代空指针,也不知道这到底是个啥,也不知道会不会出什么问题,只是无脑的在用,看到C++11里面特别定义了nullptr的时候才又去看了NULL的来由,再看nullptr,不明觉厉。让我理解的话就是给所有指针找到了一个“家”,不用再跟0纠缠不清了。此外在学习的时候还意外的发现“C++只用0表示空指针”这样的话,不过C++完全兼容C的话NULL一定是可以用的,但是看到这样的话也是长姿势了。
暂时就看懂了这些,其他的实在是看不懂啊,以后慢慢学吧。