我学习C++:无题(每日追加型,小心爆了:酱爆)(一)

原创 2011年12月24日 23:43:15

--------这是俺滴学习笔记,不一定都对,如果错了大家可以留言纠正(初学c++中,到目前语法基本学完,就这么个水平。呵呵)

---------------------------(I/O那节课)

 1. 我发现老师学习c++有个好的方法:那就是善于总结一小块知识点,理解成1-2句话,那就好记了。比如:I/O的操作,即控制光标的移动罢了。

2.善用return NULL; 不用else

3.3中基本加密算法:1.下标分奇偶,各执行一种加密 2. 下标各位为1的一种,2的一种,3的一种......类推。3.搞个公式,把下标带人公式,得出的值再和该下标元素计算。

4.(1异常:子类函数throw抛出不允许比父类抛出的多,大,广,只能<=.   (2. void aaa(){} 此表示可以抛出任意错误  (3. void aaa() throw(){} 此表示不能抛出任何类型(子类也得到限制)    (4.系统调用的那个什么timic....错误函数不会帮我们析构东东,只要有catch(...){},即使不做什么,也可以达帮我们析构。  (5. auto_ptr会自动帮我们释放托管的指针空间,所以在此基础上如果还加上delete,那么就真的悲剧了,会出错。  (6.异常抛出的类型可以是任意的,只要我们catch的时候正常对应的catch就行了,throw enum abc.

(7. virtual const char* what() const这个是异常的多态虚函数。 (8.如果一个指针被auto_ptr托管2次,那么第一次托管的那个auto-ptr会自动解除托管(这样也就避免了2次释放)

5.Uc 下的C++类基本上都是小写的呀。呵呵

6.C/C++用的是atoi() atof() atod() .......这一系列东东来把字符类型转化为int float double ......

7.文件:tellg/sizeof(d)可以算出记录coutn.  。。。 (2. 移动指针别忘了强转为 off_t类型    :seekg(2*(off_t)sizeof(s),ios::cur). (3. seekg(0,ios::beg/end);到文件头/尾

8.字符string:find() length() strsub(下标,长度)。

--------------------------(多态那节课)

1.C++中,只有通过指针和引用类型才能完成多态的效果。(对象无法实现地址的向导)

2.new了别忘了delete,NULL这是3兄弟啊。

3.虚函数地址其实是个偏移量,要加上虚表结构才能找到真实地址。子继承了该虚构表结构(覆盖的是虚表结构中的真实地址,仍然可以通过son.father::fun()来达到父函数调用

4.多态::必定要:虚析构函数。注意析构要加上virtual哦。别忘记了。

5.(检讨自己一下:老是跟同桌讲话,影响了别人,自己也得不偿失,失败!! 不能这样)。。。 还好有ctrl+z . 否则2行白写了:感谢上帝。。。。爱爱爱

6.调用父类的=重载:Father::operator=(obj);  ,C++中,我们要多用临时对象,这样有优化

7.static成员:仅有一次空间的申请,之后就无视了。在外部初始化,不允许出现在构造中构造,因为是共享的。 static const成员函数其实作用域是被放大了,而不是缩小了,仔细想想就知道了。哈哈(只读,和引用成员:const & 要在初始化列表中来构造:a(a),b(c){} ,在括号中的不叫构造,叫赋值)

8.const函数 通过 mutable修饰 来走后门,达到修改数据的效果。2.const函数能和同名函数重载,普通对象优先调用普通函数撒!

9.为什么int abc(int *p);与int abc(int *const p);不可重载呢?

10

f.seekg(-3*sizeof(s),ios::cur); ------该语句没有移动效果
f.seekg(-3*(off_t)sizeof(s),ios::cur);--------该语句才有移动的效果。
刚刚才知道为什么:因为sizeof()返回的size_t是无符号的,而off_t则是long int有符号的,所以有些编译器如gcc g++就把-3当作了3,3还是3,所以要转化成off_t才能表示出-3,才有向前移动的效果。

11.多重继承时:要让子类先继承虚父类,这样才不会让子搞不清父同名的方法(一个虚一个不虚)到底该调用谁。

12.其实struct 和class都一样,只是struct 默认公有,其多态,继承都是可以和class一样的。呵呵

13.说说:重载,隐藏,覆盖的区别概念。嘻嘻。估计面试的时候也许会问到哦

14.typeid(obj).name()真实类名(多态也能够看得出真实类名) volatile mutable virtual

15.可查查虚表结构相关的资料哦。(今天复习到此结束,感觉这样的复习效果不错哦。)

相关文章推荐

改善C++ 程序的150个建议学习之建议20:使用memcpy()系列函数时要足够小心

建议20:使用memcpy()系列函数时要足够小心 memcpy()、memset()、memcmp()等这些内存操作函数经常会帮我们完成一些数据复制、赋值等操作。因为在C语言中,无论是内置类型,还...

《Effective C++》学习笔记条款14 在资源管理类中小心拷贝行为

在资源管理类中小心拷贝行为

改善C++ 程序的150个建议学习之建议20:使用memcpy()系列函数时要足够小心

http://blog.csdn.net/baliguan163/article/details/11554371 建议20:使用memcpy()系列函数时要足够小心 memcpy()、memse...

改善C++ 程序的150个建议学习之建议14:小心typedef使用中的陷阱

建议14:小心typedef使用中的陷阱 typedef本来是很好理解的一个概念,但是因为与宏并存,理解起来就有点困难了。再加上部分教材以偏概全,更是助长了错误认识的产生。某些教材介绍typedef...

C++每日积累学习整理——指针部分

指针: int val=1024; void *pd=&val;//合法,void*可保存任何类型对象的地址 但是不允许使用void*操纵它所指向的对象 指针与引用的区别:p105 引用必须...

【C/C++开发】STL erase()函数使用要小心

http://blog.sina.com.cn/s/blog_67b6b720010114d3.html erase()函数的功能是用来删除容器中的元素 删除某个容器里的某个元素:c.erase(...

C/C++ 使用delete删除指针需小心 “野指针”

本文转载自: 众所周知,最开始我们用new来创建一个指针,那么等我们用完它之后,一定要用delete将该指针删掉。但是,值得注意的是,难道就仅仅是删除这个指针这么简单的么?下面,我们用一个程序来说明...

ANSYS学习小心得

  • 2009年08月20日 10:12
  • 7KB
  • 下载

Vtp学习小心得

  • 2012年08月30日 11:46
  • 796B
  • 下载

C++事件和互斥使用的小心得

写过汇编,写过C语言,仙子啊y
  • yy_ever
  • yy_ever
  • 2014年07月05日 10:04
  • 578
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我学习C++:无题(每日追加型,小心爆了:酱爆)(一)
举报原因:
原因补充:

(最多只允许输入30个字)