- 博客(15)
- 收藏
- 关注
转载 计算机网络面试常考(转载)
整理一下计算机网络部分的面试常考点,参考书籍:《计算机网络》第五版谢希仁的那本,希望对大家有所帮助 OSI,TCP/IP,五层协议的体系结构,以及各层协议 OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。 五层协议 (5层):物理层、数据链路层、网络层、运输层、 应...
2015-09-02 15:21:00
179
转载 C++面试笔试题汇总
不错的博客地址 http://www.cnblogs.com/fangyukuan/archive/2010/09/18/1829871.html http://blog.sina.com.cn/s/blog_715811390100rtke.html(很全) http://blog.sina.com.cn/s/blog_a8b2435901013nw3.html http://...
2015-07-29 10:51:00
137
转载 复杂指针解析
首先看看如下一个声明: int* ( *( *fun )( int* ) )[10]; 这是一个会让初学者感到头晕目眩、感到恐惧的函数指针声明。在熟练掌握C/C++的声明语法之前,不学习一定的规则,想理解好这类复杂声明是比较困难的。 C/C++所有复杂的声明结构,都是由各种声明嵌套构成的。如何解读复杂指针声明?右左法则是一个很著名、很有效的方法。不过,右左法则其实...
2015-07-28 10:54:00
158
转载 如何限制一个类对象只在栈(堆)上分配空间?
最近做了一道题:在C++中,为了让某个类只能通过new来创建(即如果直接创建对象,编译器将报错) 其实该问题等同于如何限制一个类对象只在栈(堆)上分配空间? 一般情况下,编写一个类,是可以在栈或者堆分配空间。但有些时候,你想编写一个只能在栈或者只能在堆上面分配空间的类。这能不能实现呢?仔细想想,其实也是可以滴。 在C++中,类的对象建立分为两种,一种是静态建立,如A a;另一种是动...
2015-07-27 11:14:00
182
转载 虚函数实现机制
说到虚函数的实现方法,我们就不得不说到动态联编(dynamic binding)和静态联编(static binding)。静态联编意味着编译器能够直接将标识符和存储的物理地址联系在一起。每一个函数都有一个唯一的物理地址,当编译器遇到一个函数调用时,它将用一个机械语言说明来替代函数调用,用来告诉CPU跳至这个函数的地址,然后对此函数进行操作。这个过程是在编译过程中完成的(注:调用...
2015-07-24 16:54:00
101
转载 C++内存分配方式详解
栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。和堆一样,用户栈在程序执行期间可以动态地扩展和收缩。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个dele...
2015-07-24 16:15:00
146
转载 malloc/free 与 new/delete的区别和联系
一、基本概念 malloc/free: 1、函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。 void free(void *FirstByte): 该函数是将之前用malloc分配的空间还给程序或者是操作系统,也...
2015-07-24 11:27:00
146
转载 C++中指针和引用的区别(转载)
C++中的引用与指针的区别 指向不同类型的指针的区别在于指针类型可以知道编译器解释某个特定地址(指针指向的地址)中的内存内容及大小,而void*指针则只表示一个内存地址,编译器不能通过该指针所指向对象的类型和大小,因此想要通过void*指针操作对象必须进行类型转化。 ★ 相同点: 1. 都是地址的概念; 指针指向一块内存,它的内容是...
2015-07-24 11:13:00
186
转载 Linux中fork()函数详解(转)
一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程, 也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都 复制到新的新进程中,只...
2015-07-22 10:04:00
103
转载 关于二叉树的各种面试题
http://blog.csdn.net/xiajun07061225/article/details/12760493 http://blog.csdn.net/luckyxiaoqiang/article/details/7518888 http://www.cnblogs.com/BeyondAnyTime/archive/2012/08/27/2659163.html ht...
2015-07-14 11:28:00
101
转载 一套数据,多种引擎
以前写过一篇文档讨论MPP DB的发展,《MPP DB 是大数据实时分析系统未来的选择吗?》,当时主要是想讨论下Greenplum数据库是否合适做数据存储,以及实时查询。文章我主要提的MPP DB短板是扩展性和对并发的支持,从目前Pivotal公司主推的HAWK,已经可以清楚的看到,业界主流的思路是SQL onhadoop,用传统引擎的高性能加上hadoop 存储的鲁棒性,来...
2015-04-21 13:54:00
203
转载 C++中四种强制类型转换的区别
使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast。1、static_cast 用法:static_cast<type_id> (expression) 该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法: (1...
2015-04-15 14:40:00
122
转载 c++ const: const 变量, const 输入参数, const 返回值, const 成员函数
看到const 关键字,C++程序员首先想到的可能是const 常量。这可不是良好的条件反射。如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。 const 是constant 的缩写,“恒定不变”的意思。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所以很多C++...
2015-04-10 12:41:00
205
转载 c语言中.h文件和.cpp文件解析
理论上来说cpp文件与头文件里的内容,只要是C语言所支持的,无论写什么都可以的,比如你在头文件中写函数体实现,任何一个cpp文件包含此头文件就可以将这个函数编译成目标文件的一部分(编译是以cpp文件为单位的,如果不在任何cpp文件中包含此头文件的话,这段代码就形同虚设),你可以在cpp文件中进行函数声明、变量声明、结构体声明,这也不成问题!!! 那为何一定要分成头文件与cpp文件呢? ...
2015-04-09 15:02:00
3487
转载 编译器的工作过程
现在才看这个可能有点晚,不过学一点是一点吧! 本文摘自 stemon http://www.cnblogs.com/stemon/p/3999844.html 简单的说,其实要理解cpp文件与头文件有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程: 1.预处理阶段(也就是常说的切token) 2.词法与语法分析阶段 3.编译阶段,首先编译成纯汇编...
2015-04-09 14:41:00
115
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅