- 博客(17)
- 资源 (6)
- 收藏
- 关注
转载 const/static 成员函数
大部分来自从stack overflow上搜集的内容,外加C++ primer的一些内容1.const成员函数:const成员函数中不能对成员变量进行改变,但是被mutable修饰的成员变量除外。而且注意哦,const只是对其所属类的成员变量起作用,函数里还是可以修改其他类型的变量的!2.static成员函数static成员函数除了不能是const的之外,也不能是virtual的。
2013-11-15 15:00:48
844
原创 Effective C++学习笔记(五)
Chapter 6. Inheritance and Object-Oriented Designpublic继承意味着“is-a”,virtual函数意味着接口被继承,non-virtual意味着接口和实现都必须被继承1.Item 32: Make sure public inheritance models "is-a."
2013-10-01 13:26:30
515
原创 小心笔试中的小陷阱(四)
1.stack/queue/priority_queue的底层实现机制首先记住一点,上述适配器的底层机制需要支持这些适配器所要求的所有操作!stack: 其底层机制需要实现push_back、pop_back、back。因为vector、list、deque都支持这些操作,所以可以作为stack的底层容器queue 需要实现:push_back、front、back、pop_front
2013-10-01 13:13:47
860
原创 小心笔试中的小陷阱(二)
1.malloc/free VS new/deletehttp://blog.youkuaiyun.com/hackbuteer1/article/details/6789164
2013-10-01 13:02:25
593
原创 static const VS const VS enum
一.在C++类中定义常量的几个方法:1.const:const类型成员变量的生命周期及其所处类对象实例的生命周期,在此对象生命周期中,它是一个常量,其初始化只能是在构造函数初始化列表中进行(在构造函数体内能行不?试一下),不同的对象其const成员变量额值可能不同。2.enum:参考链接:http://sharep.blog.51cto.com/539048/114301类中的
2013-08-27 18:39:42
1385
原创 小心笔试中的小陷阱(一)持续修改中~~
1.巧分sizeof(char a[])和strlen(char a[])strlen():求的是字符串的实际长度,即不包括“\0”的长度,如strlen(“hello”)=5,而不是6,而且要特别注意如下情况:char a[]="hello\0 world"; strlen(a)=5 而不是12,因为字符串里含有"\0",strlen()在计算字符串长度的时候遇到"\0"就结束计算了,所以只
2013-08-06 21:35:06
673
原创 复制控制
作为复制控制的一部分,搞清楚复制构造函数还是很重要滴。本文主要是总结了C++primer上的相关知识。复制构造函数具有单个形参,该形参通常是const类型的,是对该类类型的引用。复制构造函数主要用于以下场合:1)根据另一个同类型的对象显示或隐式初始化一个对象2)复制一个对象,将其作为实参传给一个函数3)从函数返回时复制一个对象4)初始化顺序容器中的元素(如果调用仅指定容器大小的
2013-07-13 21:15:56
585
原创 浅析构造函数之默认构造函数
C++的默认构造函数可谓“博大精深”,一度把博主我搞的晕头转向的,各种跪,后来久经曲折,终于得了那么一点门道。。。谨记一句话,构造函数的工作是保证每个对象的数据成员具有合适的初始值!额,也许你会说这个连幼稚园小朋友都知道的不是么,不过,或许我们真的不如幼稚园小朋友呢。。构造函数里感觉最让人头疼的是默认构造函数(default constructor),default constructor
2013-07-13 20:27:44
557
原创 继承
1.公有/私有/受保护继承基类中的private成员只有基类及其友元函數可以访问,派生类及其用戶无权访问.对于基类的public/protected,则派生类列表中使用的访问标号决定该成员在派生类中的访问级别.a.public inheritance:成员在基类中是什么类型,在派生类中还是同样的b.protected inheritance:基类的public/protected成
2013-07-04 21:18:35
475
转载 Java多线程编程
终于开始动手整理自己的多线程学习之路了,orz,fighting!为了提高系统性能而奋斗!!先附上大牛博客链接镇楼:http://lavasoft.blog.51cto.com/62575/99153基本上算是对大牛博客的学习笔记,然后外加自己总结的一点东东。。。。Item 1:可以使线程离开运行状态的几种方法1.线程睡眠是保证所有线程获得运行机会的最好方法,sleep()方法是静
2013-06-27 21:45:39
541
原创 c++中四个类型转换符:static_cast,const_cast,dynamic_cast,reinterpret_cast
c++中引入了四个强制类型转换,分别是static_cast、dynamic_cast、const_cast和reinterpret_cast。其使用对比如下:1.static_cast(expression)msdn解释:http://msdn.microsoft.com/en-us/library/c36yw7x9(v=vs.80).aspx一般的基本类型转换都可以使用此表达式,该
2013-06-27 21:43:14
480
原创 Effective C++学习笔记(三)
Chapter 1:Accustoming Yourself to C++1.Item 3:Use const whenever possible指针中的const,若其在星号左边,则其指向的值不能改变,若其在右边,则指针自身不能改变。对于iterator,若声明一个iterator为const,则iterator本身不能改变,若使用const_iterator,则其指向的值不能改变。
2013-06-27 21:40:55
494
原创 Effective C++学习笔记(二)
Chapter 3:Resource Management不管是动态分配内存还是互斥锁或者是网络套接字,使用完后需要归还给系统,如果忘记,比如说忘记回收内存,那么会引起memory leak。1.Item 13:Use Objects to manage resources之所以使用RAII(资源分配即初始化,使用类来封装资源的分配和释放)技术,是因为使用完一个资源管理对象后,会自动调
2013-06-27 21:39:28
609
转载 数组形参
http://blog.163.com/mageng11@126/blog/static/1408083742011424135666/附上链接内容:在 C++中,数组永远不会按值传递,它是传递第一个元素,准确地说是第 0个 的指针。例如,如下声明 :void putValues( int[ 10 ] ); 被编译器视为 void putValues( i
2013-05-07 21:47:11
599
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人