自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

vonmax007的博客

How to Accomplish Destiny ?

  • 博客(31)
  • 收藏
  • 关注

原创 2017年8月份最后一篇文章

还能说什么呢,今年轰轰烈烈的校招就要开始了,在今日最后几分钟记录一下,以后回首往事的时候,希望能够感怀2017年的点点滴滴。

2017-08-31 23:45:13 318

原创 C++ 虚函数和纯虚函数的区别

首先:强调一个概念定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。定义一个函数为纯虚函数,才代表函数没有被实现。定义纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这个函数。1、简介假设我们有下面的类层次:[cpp] view plain copy print?class A  {  public

2017-08-30 11:33:52 539

转载 函数的调用规则(__cdecl,__stdcall,__fastcall,__pascal)

关于函数的调用规则(调用约定),大多数时候是不需要了解的,但是如果需要跨语言的编程,比如VC写的dll要delphi调用,则需要了解。        microsoft的vc默认的是__cdecl方式,而windows API则是__stdcall,如果用vc开发dll给其他语言用,则应该指定__stdcall方式。堆栈由谁清除这个很重要,如果是要写汇编函数给C调用,一定要小心堆栈的清除工作,如果

2017-08-30 11:14:20 281

转载 STL系列之四 heap 堆

下面再介绍STL中与堆相关的4个函数——建立堆make_heap(),在堆中添加数据push_heap(),在堆中删除数据pop_heap()和堆排序sort_heap():头文件 #include <algorithm>下面的_First与_Last为可以随机访问的迭代器(指针),_Comp为比较函数(仿函数),其规则——如果函数的第一个参数小于第二个参数应返回true,否则返回false。建立堆

2017-08-29 00:23:00 325

原创 C++ 中的pair

pair的类型:    pair 是 一种模版类型。每个pair 可以存储两个值。这两种值无限制。也可以将自己写的struct的对象放进去。。    pair<string,int> p;    pair<int ,int > p;   pair<double,int> p;  都可以。。。     应用:如果一个函数有两个返回值 的话,如果是相同类型,就可以用数组返回,如果是不同类型,就

2017-08-28 02:07:44 311

原创 C++的迭代器

迭代器是C++标准库中的重要组件,特别是在容器内部,没有迭代器,容器也就无所谓存在了。例如:vector容器简而言之就是3个迭代器 start finish 以及end_of_storage vector的任何操作都离不开这3个迭代器。。接下来,总结一下C++ 中的迭代器的操作。C++的迭代器分为5类,依次为 : Input_iterator, output_iterator, forwrd_

2017-08-28 01:54:26 512

转载 C++11特性:auto关键字

阅读目录C++98 autoC++11 autoauto的用法注意事项 正文前言本文的内容已经不新鲜了。关于auto,翻来覆去被人知道的都是这些东西,本文并没有提出新颖的auto用法。本人原是痛恨博客一篇篇都是copy而来缺乏新意的探索,当然,本文不是copy而来,但发布这样一篇大家皆知的文章心里甚是惶恐。本文对auto的内容加以整理,权当是自己的复习笔记了。回到顶部C++98 auto早

2017-08-28 01:29:48 267

原创 阿里2018校招内推笔试题-字符串切分

思路,类似于LeetCode Word Break II,参考之后计算空格数量就行。// Ali02.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <fstream>#include <string>#include <vector>#include <list>#include <stack

2017-08-25 21:44:40 1557

原创 网易2017校园招聘笔试程序题(分田地)

题目描述: 牛牛和 15 个朋友来玩打土豪分田地的游戏,牛牛决定让你来分田地,地主的田地可以看成是一个矩形,每个位置有一个价值。分割田地的方法是横竖各切三刀,分成 16 份,作为领导干部,牛牛总是会选择其中总价值最小的一份田地, 作为牛牛最好的朋友,你希望牛牛取得的田地的价值和尽可能大,你知道这个值最大可以是多少吗? 输入描述: 每个输入包含 1 个测试用例。每个测试用例的第一行包含两个整数

2017-08-22 01:59:16 974

转载 Linux后台开发具备能力集锦

Linux后台开发应该具备技能一、linux和os:1、命令:netstat tcpdump ipcs ipcrm  这四个命令的熟练掌握程度基本上能体现实际开发和调试程序的经验2、cpu 内存 硬盘 等等与系统性能调试相关的命令必须熟练掌握,设置修改权限 tcp网络状态查看 各进程状态 抓包相关等相关命令 必须熟练掌握3、awk sed需掌握4、共享内存的使用实现原理、然后共享内存段被映射进进程空

2017-08-20 01:59:31 294

原创 阻塞非阻塞与同步异步的区别

老张爱喝茶,废话不说,煮开水。 出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。 1 老张把水壶放到火上,立等水开。(同步阻塞) 老张觉得自己有点傻 2 老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有。(同步非阻塞) 老张还是觉得自己有点傻,于是变高端了,买了把会响笛的那种水壶。水开之后,能大声发出嘀~~~~的噪音。 3 老张把响水壶放到火上,立等

2017-08-20 01:00:58 316

原创 链家在线测评编程题

我感觉这就是简单的二分查找就行了,因为区间编号是有序了的啊,但是不能直接套二分查找,需要找出每个区间的的范围,然后修改判断条件就行了,代码如下:// Lianjia01.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <fstream>#include <string>#include <vector

2017-08-19 20:51:00 2561

原创 C++ dynamic_cast和static_cast

C语言中可以对内置类型进行强制转换,但是这样做不是很安全,在C++标准中,提供了关于类型层次转换中的两个关键字static_cast和dynamic_cast。一、static_cast关键字(编译时类型检查)用法:static_cast < type-id > ( expression ),该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性,它主要有如下

2017-08-19 16:06:16 371

原创 C++中typeid的使用

RTTI(Run-TimeType Information, 运行时类型信息),它提供了运行时确定对象类型的方法。在C++中,为了支持RTTI提供了两个操作符:dynamic_cast和typeid。The typeid operator provides a program with the ability to retrieve the actual derived type of t

2017-08-19 14:34:42 474

转载 Linux分析apache日志获取最多访问的前10个IP

apache日志分析可以获得很多有用的信息,现在来试试最基本的,获取最多访问的前10个IP地址及访问次数。既然是统计,那么awk是必不可少的,好用而高效。命令如下:awk '{a[$1] += 1;} END {for (i in a) printf("%d %s\n", a[i], i);}' 日志文件 | sort -n | tail首先用awk统计出来一个列表,然后用sort

2017-08-18 22:24:07 505

原创 C++函数重载

C++允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,即函数的参数列表不同,也就是说用同一个运算符完成不同的运算功能。这就是重载函数。重载函数常用来实现功能类似而所处理的数据类型不同的问题。函数重载有什么好处? 重载函数通常用来命名一组功能相似的函数,这样做减少了函数名的数量,避免了名字空间的污染,对于程序的可读性有很大的好处。当函数的编

2017-08-18 20:50:06 252

原创 计数排序详解:O(n)

计数排序基本思路为:我们希望能线性的时间复杂度排序,如果一个一个比较,显然是不实际的,书上也在决策树模型中论证了,比较排序的情况为nlogn的复杂度。既然不能一个一个比较,我们想到一个办法,就是如果我在排序的时候就知道他的位置,那不就是扫描一遍,把他放入他应该的位置不就可以了嘛。要知道他的位置,我们只需要知道有多少不大于他不就可以了吗?以此为出发点,我们怎么确定不大于他的个数呢?我们先来个约

2017-08-18 17:08:31 331

原创 C++构造函数和析构函数的调用顺序

1、构造函数的调用顺序基类构造函数、对象成员构造函数、派生类本身的构造函数 2、析构函数的调用顺序派生类本身的析构函数、对象成员析构函数、基类析构函数(与构造顺序正好相反) 3、特例局部对象,在退出程序块时析构 静态对象,在定义所在文件结束时析构 全局对象,在程序结束时析构 继承对象,先析构派生类,再析构父类 对象成员,先析构类对象,再析构对象成员#include <iostream>

2017-08-17 17:08:35 375

原创 C++构造函数与析构函数能否为虚函数

结果:构造函数不能声明为虚函数,析构函数可以声明为虚函数,而且有时是必须声明为虚函数。不建议在构造函数和析构函数里面调用虚函数。引用 To construct an object, a constructor needs the exact type of the object it is to create. Consequently, a constructor cannot be virtu

2017-08-17 11:55:13 340

原创 Ubuntu14.04下搜狗输入法安装

尚不评价ubuntu下自带的中文输入法如何,在windows下用惯了搜狗,也深知其强大之处。用了几年的ubuntu,期间装过几次系统所以也装过几次搜狗。当然有成功也有失败的:成功情况都是失败在前,然后在某次开机时,它莫名其妙地冒出来了;最坑爹的一次失败,尝试各种办法后,破坏了系统的依赖库,导致IDE自动被卸载再也无法装上,之后装软件经常受到影响。这次有机会装了一台机子,很轻松地用上了搜狗,好像一点都

2017-08-16 23:45:54 253

原创 华为2018优招笔试题

我的思路,顺序遍历,还能咋地~~// HUAWEI02.cpp : 定义控制台应用程序的入口点。//#include <iostream>#include <fstream>#include <string>#include <vector>#include <list>#include <stack>#include <map>#include <queue>#include <

2017-08-16 21:26:27 10453

转载 Socket编程之htons(), ntohl(), ntohs(),htons() 函数

在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题。这是就可能用到htons(), ntohl(), ntohs(),htons()这4个函数。网络字节顺序与本地字节顺序之间的转换函数: htonl()--"Host to Network Long" ntohl()--"Network to Host Long" htons()--"Host to Net

2017-08-15 21:26:32 2932

原创 C++智能指针记录

导读最近在补看《C++ Primer Plus》第六版,这的确是本好书,其中关于智能指针的章节解析的非常清晰,一解我以前的多处困惑。C++面试过程中,很多面试官都喜欢问智能指针相关的问题,比如你知道哪些智能指针?shared_ptr的设计原理是什么?如果让你自己设计一个智能指针,你如何完成?等等……。而且在看开源的C++项目时,也能随处看到智能指针的影子。这说明智能指针不仅是面试官爱问的题材,更是

2017-08-15 16:57:43 6614 1

转载 grep命令使用-正则表达式

原文地址:http://blog.sina.com.cn/s/blog_476d8cf30100tmcn.html1. grep简介 grep (global search regular expression_r(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的gre

2017-08-14 16:08:21 6153

原创 c++中的 extern "C"

比如说你用C 开发了一个DLL 库,为了能够让C ++语言也能够调用你的DLL 输出(Export) 的函数,你需要用extern “C” 来强制编译器不要修改你的函数名。通常,在C 语言的头文件中经常可以看到类似下面这种形式的代码:#ifdef __cplusplus extern "C" { #endif /**** some declaration or so *****/ #if

2017-08-14 15:37:43 5194

原创 C++ 虚函数与继承的一个例子

通过隐含的this指针,也可以实现运行时多态:#include <iostream>class A {protected: int m_data;public: A(int data = 0) { m_data = data; } int getData() { return doGetData();

2017-08-14 10:02:22 5212

转载 关于静态函数只能调用静态变量

有次面试的时候被問到,说为什么静态函数只能调用静态变量,我一下懞了,平时只知道这样記着,所以也只能老实回答。面试完后补习了下这块的知识。推荐一篇很好的文章,关于C++中的this指针的:http://blog.csdn.NET/starlee/article/details/2062586首先得知道为什么要使用静态数据成员:    在类中,静态成员可以实现多个对象之间的数据共享,并且使用静态数据

2017-08-14 00:03:24 7731

原创 物理CPU,物理CPU核心,逻辑CPU,超线程

总核数 = 物理CPU个数 * 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 X 超线程数cat /proc/cpuinfo | moreprocessor       : 0     —–逻辑CPU的唯一标识符vendor_id       : GenuineIntel  —标识英特尔处理器cpu family      : 6model

2017-08-13 23:21:04 5410

原创 C++处理输入输出汇总

面试中好多次卡在处理输入输出上了,所以本次要好好总结一下。C++ getline的使用getline(istream &in, string &s)从输入流读入一行到string s•功能: –从输入流中读入字符,存到string变量 –直到出现以下情况为止: •读入了文件结束标志 •读到一个新行 •达到字符串的最大长度 –如果getline没有读入字符,将返回false,可用于判断文件

2017-08-08 22:56:20 6969 1

原创 C++ STL set和multiset的使用

C++ STL set和multiset的使用std::set<int> s;那个s这个对象里面存贮的元素是从小到大排序的,(因为用std::less作为比较工具。)1,set的含义是集合,它是一个有序的容器,里面的元素都是排序好的,支持插入,删除,查找等操作,就   像一个集合一样。所有的操作的都是严格在logn时间之内完成,效率非常高。 set和multiset的区别是:set插入的元素不能

2017-08-05 17:41:51 5265

原创 STL中istream_iterator和ostream_iterator的基本用法

标准程序库定义有供输入及输出用的iostream iterator类,称为istream_iterator和ostream_iterator,分别支持单一型别的元素读取和写入。使用这两个iteratorclasses之前,先得含入iterator头文件:#include<iterator>现在让我们看看如何利用istream_iterator从标准输人装置中读取字符串(即类似cin功能): 就像所

2017-08-05 17:25:25 5236

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除