自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

转载 高性能IO模型浅析

高性能IO模型浅析 服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种:(1)同步阻塞IO(Blocking IO):即传统的IO模型。(2)同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非Java的NIO(New IO)库。(

2017-09-29 15:16:43 281

转载 几种常见的设计模式介绍

几种常用的设计模式介绍1.    设计模式的起源最早提出“设计模式”概念的是建筑设计大师亚力山大Alexander。在1970年他的《建筑的永恒之道》里描述了投计模式的发现,因为它已经存在了千百年之久,而现代才被通过大量的研究而被发现。在《建筑的永恒之道》里这样描述:模式是一条由三个部分组成的通用规则:它表示了一个特定环境、一类问题和一个解决方案之间的关系。每一个模式描述了

2017-09-21 00:35:30 666

原创 如何定义一个只能在堆上(或栈上)生成对象的类

在C++中,类的对象建立分为两种,一种是静态建立,如A a;另一种是动态建立,如A* ptr=new A;这两种方式是有区别的。        静态建立一个类对象,是由编译器为对象在栈空间中分配内存,是通过直接移动栈顶指针,挪出适当的空间,然后在这片内存空间上调用构造函数形成一个栈对象。使用这种方法,直接调用类的构造函数。        动态建立类对象,是使用new运算符将对象建立

2017-09-14 21:59:50 333

原创 多继承中的构造函数的顺序

(1)任何虚拟基类的构造函数按照它们被继承的顺序构造。(2)任何非虚拟基类的构造函数按照它们被构造的顺序构造。(3)任何成员对象的构造按照它们声明的顺序调用。(4)类自身的构造函数。

2017-09-14 21:49:48 794

原创 C++中的重载、覆盖和隐藏的区别

1.重载是一个类内部实现相同机理的操作,但是操作的对象不同。主要体现在: 方法在同一个类中重载的方法名称相同参数不同(参数的类型不同,参数的个数不同)virtual关键字可有可

2017-09-14 21:01:30 270

原创 统计一个字符串中各字符出现的次数

#include #include using namespace std; int main(){ string str; int ascii[256]={}; cout<<"请输入一个字符串:"; getline(cin,str); for(int i=0; i<str.size(); i++) ascii[(int)str[

2017-09-14 14:41:43 1468

原创 Delete和delete[]的区别

当调用delete的时候,系统会自动调用已分配的对象的析构函数。当我们用new[]分配的对象是基本数据类型时,用delete和delete[]没有区别。但是,当分配的对象是自定义对象时,二者不能通用。一般来说,使用new分配的对象,用delete来释放。用new[]分配的内存用delete[]来逐个释放。c/c++规定,当删除一个指针时,这个指针应指向其首地址。

2017-09-14 11:43:53 354

原创 程序的编译和链接过程

C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程。链接是把目标文件、操作系统的启动代码和用到的库文件进行组织形成最终生成可加载、可执行代码的过程。将一个.c文件编译链接成.exe文件,需要以下几个步骤:预处理、编译、汇编、链接预处理器:将.c 文件转化成

2017-09-13 15:35:12 363

原创 德拓DATATOM校招C/C++软件研发笔试题

part 1:basic1.你应聘的岗位是什么?写出你对该岗位的理解,并说出你能胜任这份工作的理由2.你研读过那些技术类的书籍?有什么收获?3.Linux的一些命令及参数。4.JSON对象part 2:programming1.编写一个函数,用于统计一个字符串中各字符出现的次数2.精确的计算出10000的阶乘。part3:c++engineer1

2017-09-12 19:33:26 741

原创 厦门美亚柏科信息股份有限公司C/C++笔试题

一、十道选择题数据结构、类、继承、二叉树等。不难。二、问答题1.#include2.构造函数的执行顺序3.复杂指针的声明4.什么是抽象类? 试声明一个抽象类。忘了,没写出来5.声明一个类,只能在堆上内存,不能在栈上。三、改错题c++类方面的。四、编程题1、string类2、写一个函数找出一个整数数组中第二大的数还有

2017-09-12 19:31:19 2651

原创 美乐威c++软件工程师笔试题

1.改错题class BaseClass{public:BaseClass():m_a1(1),m_a2(2){}~BaseClass();public:int GetValue1(){return m_a1;}int GetValue2(){return m_a2;}static int GetValue3(){ return (m_b1+m_a1);}p

2017-09-11 20:56:33 567

原创 烽火星空C++笔试

一、7道选择题,基础C/C++知识,数据结构,重载等。二、基础问答,网络方面的基础知识,DNS和VPN。C++中纯虚函数如何定义,使用时注意什么。多线程死锁问题。三、程序设计,宏定义--数字交换。实现一个取出全路径文件名的文件名部分的函数。编写派生类。四、两道智力题。五、项目总结。

2017-09-11 20:47:59 2757

原创 栈和堆的区别

一、预备知识—程序的内存分配    一个由C/C++编译的程序占用的内存分为以下几个部分    1、栈区(stack)—   由编译器自动分配释放   ,存放函数的参数值,局部变量的值等。其    操作方式类似于数据结构中的栈。    2、堆区(heap)   —   一般由程序员分配释放,   若程序员不释放,程序结束时可能由OS回    收   。注意它与数据结构中的堆是两回事,分配方式倒是类

2017-09-11 20:15:26 276

原创 虚函数和纯虚函数有什么区别

(1)类里如果声明了虚函数,这个函数是实现的,哪怕是空实现,它的作用就是为了能让这个函数在它的子类里面可以被覆盖,这样编译器就可以使用后期绑定来达到多态了。纯虚函数只是一个接口,是个函数的声明而已,它要留到子类里去实现。(2)虚函数在子类里面也可以不重载;但纯虚函数必须在子类去实现,这就像Java的接口一样。通常把很多函数加上virtual,是一个好习惯,虽然牺牲了一些性能,但是增加了面向对象

2017-09-11 17:03:15 786

转载 shell脚本

建立一个脚本   Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行)。   如同其他语言一样,通过我们使用任意一种文字编辑器,比如nedit、

2017-09-10 21:59:47 227

原创 Linux网络编程

对于网络理论介绍一般采用OSI模型,但是Linux中网络栈的介绍一般分为四层的Internet模型OSI七层网络模型:

2017-09-05 17:01:00 257

空空如也

空空如也

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

TA关注的人

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