![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
转载
文章平均质量分 81
营养不良的红
这个作者很懒,什么都没留下…
展开
-
C++ string与int的转换
C++ int与string的转化int本身也要用一串字符表示,前后没有双引号,告诉编译器把它当作一个数解释。缺省情况下,是当成10进制(dec)来解释,如果想用8进制,16进制,怎么办?加上前缀,告诉编译器按照不同进制去解释。8进制(oct)---前缀加0,16进制(hex)---前缀加0x或者0X。string前后加上双引号,告诉编译器把它当成一串字符来解释。注意:对于字符,需转载 2015-08-10 16:56:58 · 541 阅读 · 0 评论 -
C++头文件与实现文件分别写什么
转自:http://www.cnblogs.com/ider/archive/2011/06/30/what_is_in_cpp_header_and_implementation_file.htmlC++的头文件和实现文件分别写什么在C++编程过程中,随着项目的越来越大,代码也会越来越多,并且难以管理和分析。于是,在C++中就要分出了头(.h)文件和实现(.c转载 2015-08-20 21:35:30 · 275 阅读 · 0 评论 -
头文件与源文件
简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程:1.预处理阶段 2.词法与语法分析阶段 3.编译阶段,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各个目标文件 (.obj文件)4.连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关的可执行文件,当然,最后还可以用转载 2015-08-20 18:14:20 · 543 阅读 · 0 评论 -
数组名a与&a的区别
这里我们先看看数组名代表的是什么,这个概念可能大家有所误解,认为数组名代表的就是数组的地址,当然,数组名代表的是一个地址,但是关键是,通过这个地址,我们关注的是它能取得多大空间的数据的值,例如对于一个char 类型的地址,我们能够取得一个字节的值,对于一个int型的地址,我们能够取得4个字节的值。 这里我们以整形数组为讲解:int a[4]; a是一个地址,我们知道a其转载 2015-08-21 18:07:08 · 416 阅读 · 0 评论 -
堆区和栈区的区别
由不能对非动态分配的内存进行delete或free,也不能对同一内存区同时用delete或free两次引发的思考。堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程转载 2015-08-21 23:12:37 · 2654 阅读 · 0 评论 -
vector的使用方法
来自:http://blog.csdn.net/ghevinn/article/details/21722243vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。为了可以使用转载 2015-08-20 15:24:36 · 384 阅读 · 0 评论 -
类型转换-static_cast、dynamic_cast、reinterpret_cast、const_cast探讨
http://www.cnblogs.com/chio/archive/2007/07/18/822389.html 首先回顾一下C++类型转换:C++类型转换分为:隐式类型转换和显式类型转换第1部分. 隐式类型转换又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类型的算术表达式中, 最宽转载 2015-09-15 22:47:06 · 298 阅读 · 0 评论 -
C++虚函数表解析
C++ 虚函数表解析 陈皓http://blog.csdn.net/haoel 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,R转载 2015-09-15 22:50:09 · 331 阅读 · 0 评论 -
STL中vector的内存分配机制
一些好的公司校园招聘过程中(包括笔试、面试环节),经常会涉及到STL中vector的使用(主要是笔试)及其性能(面试)的分析。今天看了下相关文章,也写了几个小的测试程序跑了跑。算是总结下,希望对需要的人有帮助。关于vector,简单地讲就是一个动态数组,里面有一个指针指向一片连续的内存空间,当空间不够装下数据时会自动申请另一片更大的空间,然后把原有数据拷贝过去,接着释放原来的那片空间(所以之前转载 2015-08-25 22:44:18 · 5577 阅读 · 0 评论 -
Dijkstra算法和Floyd算法
最短路径—Dijkstra算法和Floyd算法Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。注意该算法要求图中不转载 2015-09-16 21:46:29 · 713 阅读 · 0 评论 -
ADO数据库编程
述 ADO即Microsoft ActiveXData Object,是Microsoft继ODBC之后,基于OLE DB技术的一种数据库操作技术,使您能够编写通过 OLE DB提供者对在数据库服务器中的数据进行访问和操作的应用程序。ADO同OLE DB、数据库之间的关系可以用下图来表示:其主要优点是易于使用、高速度、低内存支出和占用磁盘空间较少。ADO支转载 2015-10-06 00:24:03 · 1110 阅读 · 0 评论 -
C++ 头文件
转自:http://www.cnblogs.com/lidabo/archive/2012/04/17/2454568.html一、C++编译模式通常,在一个C++程序中,只包含两类文件——.cpp文件和.h文件。其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码;而.h文件则被称作C++头文件,里面放的也是C++的源代码。C+ +语言支持“分别编译”(separate转载 2015-08-20 18:17:09 · 290 阅读 · 0 评论 -
华为面试经验
华为2014校招面试经验允许转载,兼听则明,独乐乐不如众乐乐。binzhouweichao@163.com地区:济南时间:2013-09-24(宣讲2013-09.09-->机考2013-09-16-->面试2013-09-24-->签约2013-09-28)到目前为止,2014应届生的工作还是比较好找的,各大IT公司本着宁缺转载 2015-08-18 23:55:37 · 1352 阅读 · 0 评论 -
string类的用法总结
标准C++中的string类的用法总结相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用。但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的。也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给出操作方法。其实,可能很多人很可能会忽略掉标准C+转载 2015-09-01 14:17:52 · 361 阅读 · 0 评论 -
两个栈实现一个队列
用两个栈实现一个队列——我作为面试官的小结 用C++描述,题目大致是这样的: 已知下面Stack类及其3个方法Push、Pop和 Count,请用2个Stack实现Queue类的入队(Enqueue)出队(Dequeue)方法。 class Stack{…public: void Push(int x); // Push an ele转载 2015-08-25 10:35:34 · 286 阅读 · 0 评论 -
链表检测环以及环的入口
题目为:对于普通的单向链表,如果实现确定其内部有一个环,如何确定何处出现环路的?单向链表每个节点中只有data和next两个字段。 (单向链表含环路,不要总是想到“0”型环路,还要想到“6”字型环路) 原本听到这道题时,我首先想到的笨办法就是:建一个足够大的一维数组,,每个位置放Node*类型指针。而后开始遍历单向链表,遍历过一个节点后就将该节点的指针添加到这个转载 2015-08-25 10:16:39 · 462 阅读 · 0 评论 -
循环链表-约瑟夫环问题
正好这几天在看数据结构,觉得链表应用挺广的,特写一实例。问题描述:选首领。N个游戏者围成一圈,从第一个开始顺序报数1,2,3.凡报到3者退出圈子,最后留在圈中的人为首领。思路:创建一个包含N个节点的单循环链表来模拟N个人围成的圈。节点的数据域存放游戏者的编号。在程序中,以删除节点模拟人退出圈子的处理,整型变量c(初始值为1)用于计数,指针变量p的初始值为he转载 2015-08-25 12:52:11 · 485 阅读 · 0 评论 -
排序算法--希尔排序
希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。 该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很转载 2015-07-31 10:58:17 · 418 阅读 · 0 评论 -
排序算法比较
1.稳定性比较插入排序、冒泡排序、二叉树排序、二路归并排序及其他线形排序是稳定的选择排序、希尔排序、快速排序、堆排序是不稳定的2.时间复杂性比较插入排序、冒泡排序、选择排序的时间复杂性为O(n2)其它非线形排序的时间复杂性为O(nlog2n)线形排序的时间复杂性为O(n);3.辅助空间的比较线形排序、二路归并排序的辅助空间为O(n),转载 2015-07-22 13:49:59 · 388 阅读 · 0 评论 -
stringstream的用法
stringstream的用法Posted on 2007-07-13 19:47 Shuffy 阅读(94599) 评论(27) 编辑 收藏 引用 所属分类: VC++/C/C++/C#浏览集合 【本文来自】http://www.builder.com.cn/2003/0304/83250.shtmlhttp://www.cppblog.com/alantop/archive/转载 2015-08-12 13:22:57 · 324 阅读 · 0 评论 -
C++命名空间
本讲基本要求 * 掌握:命名空间的作用及定义;如何使用命名空间。 * 了解:使用早期的函数库 重点、难点 ◆命名空间的作用及定义;如何使用命名空间。 在学习本书前面各章时,读者已经多次看到在程序中用了以下语句:using namespace std; 这就是使用了命名空间std。在本讲中将对它作较详细的转载 2015-08-27 16:04:44 · 403 阅读 · 0 评论 -
输出字符指针的值
在C++中,如果cout一个字符数组的话,那么它会沿着这个地址,一直输出这个字符串,直到遇到'\0',例如: char*c="cadn\0hello"; cout输出的结果是:cadn如果我们自作聪明的想输出第一个字符的地址,例如这样输出: cout不幸的是,这样输出的结果依旧不是我们需要的地址。但是,如果我们回归到C语言的话,例如用prin转载 2015-08-23 10:01:27 · 2550 阅读 · 0 评论 -
图的常用存储结构
觉得这个讲的比书上清楚一点,就转过来,分享一下,也留着自己可以认真的更好的理解下。。8.2 图的存储结构 图的存储结构除了要存储图中各个顶点的本身的信息外,同时还要存储顶点与顶点之间的所有关系(边的信息),因此,图的结构比较复杂,很难以数据元素在存储区中的物理位置来表示元素之间的关系,但也正是由于其任意的特性,故物理表示方法很多。常用的图的存储结构有邻接矩阵、邻接表、十字链表和邻转载 2015-08-30 22:34:48 · 1240 阅读 · 0 评论 -
DFS--奇偶剪枝
什么是奇偶剪枝?把矩阵看成如下形式: 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 从为 0 的格子走一步,必然走向为 1 的格子 。从为 1 的格子走一步,必然走向为 0 的格子 。即: 从 0 走向 1 必然是奇数步,从 0 走向 0 必然是偶数步。所以当遇到从 0 走转载 2015-08-31 23:42:50 · 370 阅读 · 0 评论 -
HRESULT用法
HRESULT 常被用作COM调用的返回值。充分利用HRESULT返回信息可以帮助提高我们的代码质量,提供程序的健壮性。以下是HRESULT用法小结:1. HRESULT 值及其含义。S_OK 操作成功 0x00000000S_FALSE 函数调用成功 #define S_FALSE ((HRESULT)1L)E_UNEXPECTED 意外的失败 0x8000FFFF转载 2015-10-06 16:54:51 · 2195 阅读 · 0 评论