![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
远方的枫叶
这个作者很懒,什么都没留下…
展开
-
百度2014校园招聘-研发工程师笔试题(济南站)
一,简答题(30分) 1,当前计算机系统一般会采用层次结构存储数据,请介绍下典型计算机存储系统一般分为哪几个层次,为什么采用分层存储数据能有效提高程序的执行效率?(10分) 所谓存储系统的层次结构,就是把各种不同存储容量、存取速度和价格的存储器按层次结构组成多层存储器,并通过管理软件和辅助硬件有机组合成统一的整体,使所存放的程序和数据按层次分布在各种存储器中。目前,在计算机系统中通转载 2015-04-19 21:14:24 · 490 阅读 · 0 评论 -
C/C++内存分区及各区区别
c/c++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈:就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。堆:就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。自由存储区:转载 2015-08-01 01:18:03 · 1086 阅读 · 0 评论 -
快速排序
高快省的排序算法 有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。 假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比转载 2015-08-01 01:35:29 · 310 阅读 · 0 评论 -
C语言中的四种存储类型
首先来说说数据的类型,所有的数据都有两种类型,一是常见的数据类型,如int,float等,一种便是今天的重头戏,存储类型。总共有四种存储类型的变量,分别为自动变量(auto)、静态变量(static)、外部变量(extern)以及寄存器变量(register)。 先回顾一下定义 1、自动变量:函数中所有的非静态局部变量 2、静态变量:在变量前加上static关键字原创 2015-06-11 23:51:00 · 13440 阅读 · 1 评论 -
C/C++中定义与声明的区别
对于初学C或者C++的同学来说很多都分不清变量的定义与声明的区别,有些同学会说这两者区别不重要,即使不知道也可以写出程序,诚然不清楚他俩的区别的确可以写出程序,他俩的区别可能看起来微不足道,但事实上却是举足轻重的。 C/C++程序很多都是由多个源文件构成的,为了让多个文件访问相同的变量,C/C++区别了声明和定义。 变量的定义用于为变量分配存储空间,还可以为变量指定初始值,在一原创 2015-05-24 17:20:28 · 542 阅读 · 0 评论 -
C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别
一、C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种: 全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域。 从作用域看: 1>全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量定义的源文件需要用extern 关键字再次声明这个全局变量。 2>静态局部变量具有局部作用域转载 2015-06-11 22:52:14 · 354 阅读 · 0 评论 -
引用与指针的区别
说起引用和指针,相信大多数人都或多或少的有些许疑问吧,小编来给大家小解一下,讲的不好请使劲拍砖,小编承受能力极强,不信你试试。 先谈一下为什么有了高效的指针还要引入引用呢? 有过学C语言的同学都知道指针的重要性,它高效灵活,但是实物都有两面性,高效灵活则意味着容易出错。对于一个指针,它所指向的对象是灵活的,他可以只想任何一个与它类型相匹配的对象,这一刻它指向对象1,下一刻就原创 2015-05-26 15:38:12 · 455 阅读 · 0 评论 -
值传递和引用传递-----函数参数传递的两种方式
回顾: 在定义函数时函数括号中的变量名成为形式参数,简称形参或虚拟参数;在主调函数中调用一个函数时,该函数括号中的参数名称为实际参数,简称实参,实参可以是常量、变量或表达式。 注意: 1、C语言中实参和形参之间的额数据传递是单向的“值传递”,单向传递,只能由实参传给形参,反之不能。 2、被调用函数的形参只有函数被调用时才会临时分配存原创 2015-04-06 14:22:45 · 5996 阅读 · 1 评论 -
预处理器变量
预处理器变量,在有的书中又叫预处理器常量,都是一个意思 为了避免名字冲突,习惯上处理器变量的所有字母一律大写 预处理器变量在整个程序中是唯一的 预处理器变量只有两种状态,已定义或未定义,用于避免头文件的多重包含而引起的重复定义 假设定义一个预处理器常量SALESITEM_H,可以用如下方式来预防多次包含同一头文件:原创 2015-05-27 23:12:44 · 1725 阅读 · 0 评论 -
C++中构造函数后的初始化列表
本人编程时遇到构造函数后面的的冒号不知其意,虽查书一看,简析C++中冒号和双冒号的用法进行了介绍 一、单冒号 (1)表示机构内位域的定义(即该变量占几个bit空间) 代码示例如下: typedef struct _Test { unsigned char a:4; unsigned char c; } Test;原创 2015-05-31 17:21:13 · 575 阅读 · 0 评论 -
const 限定符
不废话,直入主题 1、作用:const限定符可以把一个变量转化成一个常量 2、作用域:const变量的默认作用域是该文件,不能被其它文件访问,除非用extern显式定义,并在其它文件中用extern声明才可被该文件访问。 例如: // file_1.cc // defines and initializes a const that i原创 2015-05-24 22:25:47 · 290 阅读 · 0 评论 -
C/C++中const关键字详解
为什么使用const?采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替),分类如下: 常变量: const 类型说明符 变量名 常引用: const 类型说明符 &引用名 常对象: 类名 const 对象名 常成员函数: 类名::fun(转载 2015-05-14 19:00:59 · 299 阅读 · 0 评论 -
C++中STL常用容器的优点和缺点
我们常用到的STL容器有vector、list、deque、map、multimap、set和multiset,它们究竟有何区别,各自的优缺点是什么,为了更好的扬长避短,提高程序性能,在使用之前需要我们了解清楚。 verctor vector类似于C语言中的数组,它维护一段连续的内存空间,具有固定的起始地址,因而能非常方便地进行随机存取,即 [] 操作符,但因为它的内存区域是连续的转载 2015-05-14 16:26:04 · 555 阅读 · 0 评论 -
堆内存和栈内存详解
堆:顺序随意 栈:先进后出 堆和栈的区别 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是转载 2015-05-01 20:13:38 · 336 阅读 · 0 评论 -
C++ 虚函数表解析
C++ 虚函数表解析陈皓 http://blog.csdn.net/haoel前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到转载 2017-04-07 11:52:08 · 371 阅读 · 0 评论