C++
文章平均质量分 79
xzgcbtxq
这个作者很懒,什么都没留下…
展开
-
using namespace std
在标准C++以前,都是用#include这样的写法的,因为要包含进来的头文件名就是iostream.h。标准C++引入了名字空间的概念,并把iostream等标准库中的东东封装到了std名字空间中,同时为了不与原来的头文件混淆,规定标准C++使用一套新的头文件,这套头文件的文件名后不加.h扩展名,如iostream、string等等,并且把原来C标准库的头文件也重新命名,如原来的string.h就转载 2014-07-30 11:38:00 · 249 阅读 · 0 评论 -
C和C++中的位域
转载文章来自:http://www.cnblogs.com/my_life/articles/2293397.html位域成员不能单独被取sizeof值(编译报错),我们这里要讨论的是含有位域的结构体的sizeof,只是考虑到其特殊性而将其专门列了出来。C99规定int、unsigned int和bool可以作为位域类型,但编译器几乎都对此作了扩展,允许其它类型类型的存在。转载 2014-09-16 17:36:24 · 340 阅读 · 0 评论 -
C++ sizeof的使用总结
1. 定义sizeof是一个操作符(operator)。其作用是返回一个对象或类型所占的内存字节数。其返回值类型为size_t。(size_t在头文件stddef.h中定义,它依赖于编译系统的值,一般定义为 typedef unsigned int size_t;)2. 语法sizeof有三种语法形式:1) sizeof (object); //sizeof转载 2014-09-25 09:00:23 · 397 阅读 · 0 评论 -
const变量的存储区及修改权限
最近突然想起hjbolide在论坛上发过的这篇帖子:http://www.jluopen.org/bbs/viewthread.php?tid=129在帖子的最后,有这么一个很有趣的实验:[cpp] view plaincopy const int a = 1; int *p = const_castint*>(&a); *p原创 2014-09-11 08:44:31 · 775 阅读 · 0 评论 -
面经读后小结
今天是2014年9月26日,来到实验室已经三个月了,几乎还是没有做什么事情,本来是很排斥做网站前端开发的,不过对于当下LAMP架构的流行,还是打算安心在实验室把这个搞搞,把这个架构搞明白,在课余时间还是希望剩下一些时间来进行看书,a) 面试所问重点是数据结构(严蔚敏版本的数据结构),要对里面的一些基本操作非常熟练,能熟练的编写各种程序,链表,栈,队列,树的递归和非递归算法,AVL原创 2014-09-26 20:53:51 · 287 阅读 · 0 评论 -
虚函数表的实现细节
1.虚函数·虚表是怎么实现的?虚表存放在哪里?·虚表中的数据是在什么时候确定的?·对象中的虚表指针又在什么时候赋值的?我们很难通过 C++语言本身来找到答案。 C++标准给编译器实现者定义了语法规范,但是被并没有定义如何实现这些语法规范,不同的编译器实现者可能有不同的实现方法,可以肯定的是他们的编译器必须符合这些语法规范。汇编语言作为最接近机器语言的计算机语言,可以为我们揭示一转载 2014-10-06 14:04:18 · 331 阅读 · 0 评论 -
C/C++命名控制
为何要有命名控制 在C语言中并没有命名空间这一个说法,因为C语言中是放在类似于全局命名空间的,遇到有命名冲突时,文件里面可以用static内连接来解决文件之间的命名冲突例如可以在文件a.h中定义static int a;,但是使用全局命名这样的话其他文件想使用这个a命名就无法使用,因此C++为了更好的解决这个命名冲突问题提出了命名空间的技术。命名控制的使用原创 2014-10-06 19:43:39 · 356 阅读 · 0 评论 -
合并排序的非递归算法
#include#include#includeusing namespace std;/**/void merge(int *a,int leftOne,int rightOne,int leftTwo,int rightTwo){ int n=rightTwo-leftOne+1; //要动态申请的数组大小 int *b=(int *)mal原创 2014-09-29 10:46:37 · 399 阅读 · 0 评论 -
最大字段和
#include#include#includeusing namespace std;/* */void maxSubArray(int *a,int n){ int max=0,sum=0; int i=0,j=0; while(i { if(a[i]>0) {原创 2014-09-29 09:04:11 · 274 阅读 · 0 评论 -
C++的内联函数
为何要用inline内联函数 在C语言中,用define宏定义来消除函数调用带来的开销,例如define f(x) (x+1),但是define的使用是非常不安全的,define没有对类型进行检测,只是在预处理阶段由预处理器简单的进行字符串替换,这样很容易导致错误的出现,例如define f(x) ((++x)>5&&(++x) C++完全兼容原创 2014-09-29 11:39:21 · 391 阅读 · 0 评论 -
C++ 面试题-01
这些东西有点烦,有点无聊。如果要去C++面试就看看吧。几年前网上搜索的。刚才看到,就整理一下,里面有些被我改了,感觉之前说的不对或不完善。 1.求下面函数的返回值( 微软)int func(x) { int countx =0;while(x) { countx ++; x = x&(x-1);} return countx;转载 2014-08-06 16:53:43 · 393 阅读 · 0 评论 -
01-C++中重载、重写(也称覆盖)、隐藏
JAVA中语言中方法(函数)调用有两种特殊的形态:重载与重写;而C++由于增加了virtual这个虚函数关键字,给函数调用又增加了变数:除了重载、重写(也称覆盖)之外还多了隐藏这么一说。我相信我们绝大多数人写代码时,为了程序的可读性与赶速度的原则,下意识的避开这些类似于脑筋急转弯的语法,尽量使用不同的函数名来区分基类与派生类的函数(当然,不能避开的时候也是非常多的)。可是有时候,有些面试主考官总喜转载 2014-09-16 14:49:43 · 278 阅读 · 0 评论 -
C++面试题 -00
文章转载自:http://blog.csdn.net/wfwd/article/details/763494#comments============================================================================================1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtu转载 2014-09-16 16:13:45 · 259 阅读 · 0 评论 -
旧事重提——const变量的存储区及修改权限
[cpp] view plaincopy const int a = 1; int *p = const_castint*>(&a); *p = 2; cout cout cout cout const变量居然被合法的修改了!这里说说我最近的想法:cons转载 2014-08-02 10:23:11 · 296 阅读 · 0 评论 -
C++常见问题
常见知识点:a) C++特性(1、抽象;2、封装;3、继承;4、多态)b) C++的访问权限,friend使用c) 构造函数、析构函数、拷贝构造函数、浅拷贝和深拷贝d) Inline,new/delete,注释,强制类型转换,I/O,缺省值,作用域::,引用e) 函数重载f) 运算符重载g)原创 2014-08-02 09:59:38 · 501 阅读 · 1 评论 -
显式调用构造函数和析构函数
今天跟同事聊天,他说到STL源码有用到显示调用析构函数。试一了一下。果然能行。#include iostream>usingnamespace std;class MyClass{public:MyClass(){cout "Constructors" endl;}~MyClass(){cout "Destructors" endl;转载 2014-08-06 17:08:45 · 232 阅读 · 0 评论 -
C++存储区
一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量转载 2014-08-01 11:31:41 · 256 阅读 · 0 评论 -
C/C++面试经验
(一) C语言篇C语言求职血泪史华为(实习):机试、一面、性格测试被鄙视、优招被鄙视、普招被鄙视锐捷:笔试、面试莫名其妙被鄙视创新工场:笔试、一面、二面、offer阿里巴巴:笔试被鄙视cvte:网测、面试没去大众点评:网测悲剧IGT:笔试、一面、二面、offer烽火众智:霸笔、等两个小时面五分钟、offer直接拒酷派:笔试、一面、二面莫名其妙被鄙视原创 2014-09-20 09:36:58 · 2271 阅读 · 2 评论 -
c++多态实现的机制
1 什么是多态?多态性可以简单的概括为“1个接口,多种方法”,在程序运行的过程中才决定调用的机制程序实现上是这样,通过父类指针调用子类的函数,可以让父类指针有多种形态。2 实现机制举一个例子:#include class animal{public:void sleep(){cout}void breathe(){cout}};转载 2014-09-21 15:23:40 · 443 阅读 · 0 评论 -
C/C++中使用_CrtSetDbgFlag检测内存泄露
转载自: http://hi.baidu.com/ccc10509/item/6262d83ce9c38cc9392ffa8a一、介绍:动态分配、回收内存是C/C++编程语言一个最强的特点,但是中国哲学家孙(Sun Tzu,我不知道是谁?那位知道?)指出,最强的同时也是最弱的。这句话对C/C++应用来说非常正确,在内存处理出错的地方通常就是BUGS产生的地方。一个最敏感和难检测的B转载 2014-09-12 20:29:58 · 524 阅读 · 0 评论 -
IT名企面试:腾讯笔试题
腾讯是国内数一数二的IT企业了。那么每年想要进入腾讯公司的应聘者也是络绎不绝。那么一个好的笔试答卷绝对是脱颖而出的亮点。现在就来看看腾讯笔试题都有哪些内容吧。腾讯笔试题:const的含义及实现机制const的含义及实现机制,比如:const int i,是怎么做到i只可读的?const用来说明所定义的变量是只读的。这些在编译期间完成,编译器可能使用常数直接替换掉对此转载 2014-09-26 19:50:47 · 560 阅读 · 0 评论 -
C++面试腾讯后台
1)tcp三次握手的过程,accept发生在三次握手哪个阶段?2)Tcp流, udp的数据报,之间有什么区别,为什么TCP要叫做数据流?3)const的含义及实现机制,比如:const int i,是怎么做到i只可读的?4) valitale的含义。5)OFFSETOF(s, m)的宏定义,s是结构类型,m是s的成员,求m在s中的偏移量。原创 2014-09-26 19:35:28 · 854 阅读 · 0 评论 -
静态和动态链接
即使是最简单的HelloWorld的程序,它也要依赖于别人已经写好的成熟的软件库,这就是引出了一个问题,我们写的代码怎么和别人写的库集成在一起,也就是链接所要解决的问题。首先看HelloWorld这个例子:[cpp] view plaincopy// main.c 1 #include 2 3 int main(int arg转载 2014-10-10 21:35:43 · 245 阅读 · 0 评论