导航

随笔分类 -  C++

摘要:1.hashtable和hashmap [1]这两个结构都采用数组+链表实现,称作hashmap是因为它的每一个元素是一个key-value对。 [2]hashtable是线程安全的,它的每个方法中都加入了Synchronize方法,意思是多线程时可以直接调用提供的方法,而不用在外部进行加锁同步。 阅读全文

posted @ 2019-02-20 10:24 困或 阅读(221) 评论(0) 推荐(0)

摘要:1.extern关键字: extern的意思就是引用,extern后面可以是变量名或者函数名,表示引用一个变量或者函数,在链接的时候需要从外部符号表中查找这个变量的定义。 2.类的静态成员变量: [1]类的静态成员变量是属于类本身,而非某个实例。 [2]必须在类外初始化,意思就是说不能创建一个对象, 阅读全文

posted @ 2018-01-15 14:11 困或 阅读(199) 评论(0) 推荐(0)

摘要:1.STL [1]STL容器是直接管理存储数据。 [2]STL适配器是在这些容器上面增加一些操作函数,封装成一个模板。 2.STL 容器 [1]容器类型: 1)array:数组。 2)bitset:二进制位操作。 3)deque:双向队列。 4)forward_list:单向链表。 5)list:双 阅读全文

posted @ 2017-11-30 10:51 困或 阅读(388) 评论(0) 推荐(0)

摘要:1.说明 [1]重载运算符函数的参数个数,应该与参与这个运算符的运算对象数量一样多,但是如果是成员函数,则参数数量要少一个,因为第一个参数是this。例如: [2]运算符重载函数的参数至少要有一个类的成员(或者类类型)作为参数,而不能都是内置类型(会导致编译错误)。例如int operator+(i 阅读全文

posted @ 2017-11-28 19:21 困或 阅读(15770) 评论(0) 推荐(6)

摘要:1.友元的作用 友元函数是指某些虽然不是类成员函数却能够访问类的所有成员的函数。用法就是在一个类中声明一个函数作为这个类的友元函数。 友元类的所有成员函数都是另一个类的友元函数,都可以访问另一个类中的所有成员(包括私有成员和保护成员)。当希望一个类可以存取另一个类的私有成员时,可以将该类声明为另一类 阅读全文

posted @ 2017-11-27 17:46 困或 阅读(284) 评论(0) 推荐(0)

摘要:1.定义 泛型算法是STL库里面定义的一些算法,这些算法可以用一个接口操作各种数据类型,因此成为泛型算法。大多算法定义在头文件algorithm和numeric中。意思就是可以用一个接口操作各种类型的算法就是泛型算法。 记住一些泛型算法,还是很必要的,有时候自己写的超长函数功能,其实调用一个库里面自 阅读全文

posted @ 2017-11-24 15:38 困或 阅读(3867) 评论(0) 推荐(0)

摘要:1.虚函数 [1]使用基类的指针和引用指向派生类对象时,调用的虚函数是动态绑定的,该绑定基类的函数还是派生类的函数是根据指向对象的真实类型决定的。这个要注意的就是基类的指针或引用,如果是非指针非引用,则就是静态绑定。例如某个函数返回的基类指针根据运行时输入参数不同返回各种派生类对象,然后再用这个基类 阅读全文

posted @ 2017-11-23 17:58 困或 阅读(310) 评论(0) 推荐(0)

摘要:1.应用与原理 智能指针和普通指针的区别在于智能指针实际上是对普通指针加了一层封装机制,这样的一层封装机制的目的是为了使得智能指针可以方便的管理一个对象的生命期。c++通过new和delete来处理动态内存的申请和释放,但是new之后处理不好delete便会导致内存泄漏。但是智能指针的删除是智能指针 阅读全文

posted @ 2017-11-23 15:28 困或 阅读(887) 评论(0) 推荐(0)

摘要:1.模板的作用 [1]模板分为函数模板和类模板,函数模版是用来生成函数的实例,类模版是用来生成类的实例。 [2]一个模版就是一个类或函数的蓝图或者说是公式。当我们调用template时,编译器会使用实参的类型来确定绑定到模版参数T上的类型,之后编译器利用推断出的模版参数来实例化一个特定版本的函数,这 阅读全文

posted @ 2017-11-22 19:57 困或 阅读(3763) 评论(0) 推荐(0)

摘要:1.功能: 只能有一个实例的类,用于类似计数、内存池的情况。 2.实现方法: [1]构造函数设置为private,因此不能在外部创建实例。 [2]提供一个public方法访问实例。 [3]析构函数,析构函数是为了销毁这个类的成员变量,private和public都可以,但是析构函数里面不能delet 阅读全文

posted @ 2017-11-16 17:32 困或 阅读(308) 评论(0) 推荐(1)