随笔分类 -  C/C++

摘要:0 为什么需要hash_map 用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改: 岳不群-华山派掌门人,人称君子剑张三丰-武当掌门人,太极拳创始人东方不败-第一高手,葵花宝典.... 阅读全文
posted @ 2016-04-06 15:00 _tham 阅读(386) 评论(0) 推荐(1)
摘要:作者【C++ Programmer's Cookbook】 详细解说 STL 排序(Sort) 作者Winter 详细解说 STL 排序(Sort) 0 前言: STL,为什么你必须掌握1 STL提供的Sort 算法 1.1 所有sort算法介绍1.2 sort 中的比较函数1.3 ... 阅读全文
posted @ 2016-04-05 16:21 _tham 阅读(177) 评论(0) 推荐(0)
摘要:(风雪之隅 http://www.laruence.com/2009/11/18/1154.html) Linux Makefile自动编译和链接使用的环境 想知道到Linux Makefile系统的真相么,想知道Linux Makefile系统中藏有的内在奥义么,只有我来给大家... 阅读全文
posted @ 2016-03-27 15:28 _tham 阅读(420) 评论(0) 推荐(0)
摘要:C++ 与“类”有关的注意事项总结(一) 1. 除了静态 static 数据成员外,数据成员不能在类体中被显式地初始化。 例如 : class First{ int memi = 0; // 错误 double memd = 0.0; // 错误 }; 类的数据成员通... 阅读全文
posted @ 2015-09-21 10:17 _tham 阅读(532) 评论(0) 推荐(0)
摘要:STL中map的key能否用char *呢?当然可以! 在程序中需要用到一个map,本来是这样写的, map mapStr; 为了追求效率,把string改成了char *, map mapStr; 结果呢? 可想而知,每次放进去的是指针, 当查找的时候就出问题了,总是找不到。 因为... 阅读全文
posted @ 2015-04-13 21:24 _tham 阅读(4201) 评论(0) 推荐(0)
摘要:1、为什么构造函数不能是虚函数? 因为:从使用上来说,虚函数是通过基类指针或引用来调用派生类的成员的,则在调用之前,对象必须存在,而构造函数是为了创建对象的。 2、为什么在派生类中的析构函数常常为虚析构函数 注意,默认不是析构函数 一句话,是为了避免内存泄露 如果不考虑虚函数的状况,给出一个基... 阅读全文
posted @ 2015-03-30 22:53 _tham 阅读(356) 评论(0) 推荐(0)
摘要:转载来自:CSDNinsistGoGo (http://blog.csdn.net/insistgogo/article/details/6655077) 引用的应用: 常引用: 语法: [cpp] view plaincopy const 类型 &引用名=目标变量名; 作用... 阅读全文
posted @ 2015-03-30 22:51 _tham 阅读(167) 评论(0) 推荐(0)
摘要:转载来自:CSDN insistGoGo (http://blog.csdn.net/insistgogo) 多继承的定义:派生类的基类大于一个 语法: [cpp] view plaincopy class 派生类名:继承方式1 基类名1,继承方式2 基类名2... { ... 阅读全文
posted @ 2015-03-30 22:49 _tham 阅读(391) 评论(0) 推荐(0)
摘要:什么是多态? 一个 “操作” 随着所 ”传递或捆绑的对象类型的不同 “ 能够做出 ”不同的反应“,其行为模式称为多态。 即,对这个操作,能接受不同类型的参数,而且在处理参数时,会根绝其类型做出不同的反应。 为什么要引入多态? 针对由继承得到一类对象,在处理这类对象时,能够以同一操作处理完所有对象... 阅读全文
posted @ 2015-03-30 22:47 _tham 阅读(159) 评论(0) 推荐(0)
摘要:继承的意义? 使程序的设计更符合发展规律,即事物的发展是一个从低级到高级的发展过程,类的继承也是反映由原始的简单代码到丰富的高级代码的过程。它能帮助我们描述事物的层次关系,有效而精确的理解事物,理解事物直到本质。 什么叫继承? (1)继承使类与类之间建立起一种上下级的层次关系 (2)子类可以重复... 阅读全文
posted @ 2015-03-30 22:45 _tham 阅读(245) 评论(0) 推荐(0)
摘要:1、指针的优点和缺点 优点:灵活高效 (1)提高程序的编译效率和执行速度(数组下标往下移时,需要使用乘法和加法,而指针直接使用++即可) (2)通过指针可使用主调函数和被调函数之间共享变量或数据结构,便于实现双向数据通讯。 (3)可以实现动态的存储分配。 (4)便于表示各种数据结构,如结构体,编... 阅读全文
posted @ 2015-03-30 22:42 _tham 阅读(311) 评论(0) 推荐(0)
摘要://stack集合类是一个简单的堆栈的实现。 //这里有两个模板参数,T和size,指定堆栈中的元素类型和堆栈中项数的最大值。 //push 和 pop成员函数添加和删除堆栈中的项,并在堆栈底部增加。 #include #include ... 阅读全文
posted @ 2015-03-30 22:37 _tham 阅读(267) 评论(0) 推荐(0)
摘要:类模板与模板类 为什么要引入类模板:类模板是对一批仅仅成员数据类型不同的类的抽象,程序员只要为这一批类所组成的整个类家族创建一个类模板,给出一套程序代码,就可以用来生成多种具体的类,(这类可以看作是类模板的实例),从而大大提高编程的效率。 注意: 1、类模板是参数化的类,即用于实现数据类型参数化... 阅读全文
posted @ 2015-03-30 22:35 _tham 阅读(320) 评论(0) 推荐(0)
摘要:为什么要引入模板:为了避免代码重复,程序员可以编写脱离数据类型通用模板。 模板的分类:函数模板 + 类模板 注意:模板的声明或定义只能在全局,命名空间或类范围内进行。不能在函数内进行,比如不能在main函数中声明或定义一个模板。 函数模板: 定义: 函数模板:关键词在后两个字,模板:提供一类函数... 阅读全文
posted @ 2015-03-30 22:29 _tham 阅读(247) 评论(0) 推荐(0)
摘要:指针悬挂: 问题:使用new申请的内存内存空间无法访问,也无法释放。 原因:直接对指向new申请的存储空间的指针变量进行赋值修改 后果:失去了原来的地址,原来的空间无法访问也无法释放,造成内存泄漏 还可能造成同一个内存释放两次 容易引起指针悬挂的方式:对象的初始化和对象间... 阅读全文
posted @ 2015-03-30 22:21 _tham 阅读(314) 评论(0) 推荐(0)
摘要:本文转载来自,华中科技大学江南雨烟的C/C++专栏部分STL剖析文章,以作学习之用。 【1】 【C++ STL学习之一】容器的共通能力和共通操作总结 【2】 【C++ STL学习之二】容器vector大总结 【3】 【C++ STL学习之三】容器deque深入学习 【4】 【C... 阅读全文
posted @ 2015-03-30 22:05 _tham 阅读(227) 评论(0) 推荐(0)
摘要:为了方便大家查找和学习,现将本人博客中所有博客文章列出目录。 (http://blog.csdn.net/morewindows) 一. 白话经典算法 目前有17篇,分为七大排序和经典面试题讲解两大类 1. 《白话经典算法系列之一 冒泡排序的三种实现》 2. 《... 阅读全文
posted @ 2015-03-30 21:50 _tham 阅读(241) 评论(0) 推荐(0)
摘要:程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大经典原创系列集锦与总结 (七月算法问答社区:http://ask.julyedu.com/) 作者:July--结构之法算法之道blog之博主。 时间:2010年10月-2014年12月。 出处:http://blo... 阅读全文
posted @ 2015-03-30 21:41 _tham 阅读(216) 评论(0) 推荐(0)
摘要:构造函数: 作用: 1)分配空间:分配非静态数据成员的存储空间 2)初始化成员:初始化非静态数据成员 分配空间: 1)含有指针变量,需要程序员显式申请空间(使用new申请) 2)非指针变量:由系统自动分配空间 初始化成员: 1)使用赋值语句初始化:一般的变量 ... 阅读全文
posted @ 2015-03-30 21:19 _tham 阅读(216) 评论(0) 推荐(0)
摘要:1、为什么要引入友元函数:在实现类之间数据共享时,减少系统开销,提高效率 具体来说:为了使其他类的成员函数直接访问该类的私有变量 即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数 优点:能够提高效率,表达简单、清晰 缺点... 阅读全文
posted @ 2015-03-30 21:10 _tham 阅读(230) 评论(0) 推荐(0)