![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 77
谁不小心的
过于复杂,无法简介
展开
-
C++ 学习系列之 容器(一)map
一、map应用场景在很多地方,我们需要用到按值存储;与之相对的概念是按照索引来存储。比如,我们需要存一个数组,表示365天中每天的收入情况,此时我们肯定会选择数组或者vector结构,这种按照索引存储的概念是最直接的。但是,有时候会存在另外一种情况,有N个人,每个人都对应有一定的收入,我们需要将这些人和他们的收入存储起来,此时如果我们直接将人和收入作为一个结构体来存储,采用数组模式,当原创 2014-06-09 15:10:35 · 1117 阅读 · 0 评论 -
C++中的类型转化
C++中的类型转换种类繁多,很容易出错。本文主要总结,在何种情形该使用什么类型转化。1. char* >> intatoi char s[100]; int i=atoi(s);sscanf int sscanf(const char *str, const char *format, …); sscanf(s,”%d”,&i); *stringstream as follows2原创 2015-09-16 09:49:45 · 615 阅读 · 0 评论 -
C++中shared_ptr的使用
template class shared_ptr#include<memory>shared_ptr是C++ 11之后标准库引入的一个特性,用于简化内存管理,防止内存泄露。1.shared_ptr的作用是什么?Objects of shared_ptr types have the ability of taking ownership of a pointer and share that o原创 2015-09-14 15:50:46 · 1938 阅读 · 0 评论 -
C++ 中的比较函数
在写程序的时候,排序是一种和常用的原创 2014-10-14 20:21:40 · 3544 阅读 · 0 评论 -
C++ static关键字的几点说明
(1)类的静态成员函数是属于整个类而非类的对象,所以它没有this指针,这就导致 了它仅能访问类的静态数据和静态成员函数。 (2)不能将静态成员函数定义为虚函数。 (3)由于静态成员声明于类中,操作于其外,所以对其取地址操作,就多少有些特殊 ,变量地址是指向其数据类型的指针 ,函数地址类型是一个“nonmember函数指针”。(4)由于静态成员函数没有t转载 2014-10-14 16:01:15 · 878 阅读 · 0 评论 -
C语言中的声明解析规则——数组,指针与函数
摘要:C语言的申明存在的最大问题是:你无法以一种人们所习惯的自然方式和从左向右阅读一个声明,在引入voliatile和const关键字以后,情况更加糟糕了。由于这些关键字只能出现在声明中,是的声明形式和使用形式完全对上号的例子越来越少了。而C语言中比较绕人的指针数组和数组指针的问题,int *ap[]和int (*ap)[]谁是指针数组,谁又是数组指针?这里面声明的解析规则是什么样的?本文主要为你解答这些疑惑。原创 2013-09-18 15:09:33 · 3469 阅读 · 0 评论 -
标准输入的原理:cin与scanf
1.cin 的处理方式1)如果cin读取整数,会自动忽略换行和空格;遇到文件结束标记,cin >> a返回的数false int a; while(cin >> a){ cout } return 0;eg:1, 2, 31 231 a2a 12注意:cin读取到'a'字符的时原创 2014-10-11 20:49:51 · 2877 阅读 · 0 评论 -
雅虎笔试题目——最大集合问题
摘要:sort函数在日常编程中,经常被用到;同时,对内存的初始化函数,经常用到fill,本节,我们以计算LIS为例讲解这两个函数的应用。例子:有一些老鼠,有x和y两个属性,现在要选择一个最大集合,其中从前到后,老鼠的x属性依次递减,y属性依次递增。分析:如果我们先按照x属性递减排列,那么形成一个数组,然后问题就转化为求解这个数组中y属性递增排列的最长字串,于是转化为一个动态规划问题原创 2014-09-28 15:24:12 · 1270 阅读 · 0 评论 -
使用priority_queue建立小顶推
template < class Type, class Container=vector, class Compare=less > class priority_queue注意,priority_queue是一个模板类,它的定义形式如上;其中,它的每一个参数也是一个类,这里我们主要解释一下Compare 参数。其中,Compare 参数是一个原创 2014-09-26 23:37:10 · 2207 阅读 · 0 评论 -
C++模板学习
1. 模板的概念。我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。//函数1.int max(int x,int y);{return(x>y)?x:y ;}//函数2.float转载 2014-09-22 17:15:31 · 1023 阅读 · 0 评论 -
代码简洁之道:C++ 11 之auto+ for_each + lamda表达式
摘要:在很多中情况下,我们需要这样的运算:给vector中每个元素进行相似的处理(每个元素+1,或者其他).一般情况下,我们会选用for循环,然后然后对每个元素进行处理。实际上,C++ 11提供了了lamda表达式,结合for_each,可以写出更加简洁和高效的代码。1.for_each.简介for_each是C++中的模板,具体用法可以参考这里:http://www.cplusp原创 2014-08-11 14:14:29 · 4874 阅读 · 0 评论 -
linux 下任务前后台切换:ctr + z && bg && fg
假设你发现前台运行的一个程序需要很长的时间,但是需要干其他的事情,你就可以用 Ctrl-Z ,终止这个程序,然后可以看到系统提示: [1]+ Stopped /root/bin/rsync.sh 然后我们可以把程序调度到后台执行:(bg 后面的数字为作业号) #bg 1 [1]+ /root/bin/rsync.sh & 用 j转载 2014-08-22 14:44:17 · 2204 阅读 · 0 评论 -
C++ 常用类 string类
===6.3.2使用string对象===string word="I love China"*链接字符串*string description=adjective + " " + word;_Note_: 不能连接两个字符串字面量,下面的语句是错误的string test= "I have" + "a dream";===6.3.3访问字符串中的字符原创 2014-06-12 10:26:07 · 1480 阅读 · 0 评论 -
栈破坏下crash的分析方法
在众多的coredump中,有一类crash调试起来是最麻烦的,那就是“栈被破坏”导致的函数调用回溯结构破坏引发的coredump。本文,主要讲讲这一类crash的成因、原理以及调试方法。1. SMTC(show me the code)首先,让我们来看一段代码#include &lt;stdio.h&gt;#include &lt;string.h&gt;void fun(int n...原创 2019-02-13 10:30:57 · 2673 阅读 · 0 评论