c++面试(一)

1.在c++中可以通过"::"来直接操作全局变量。

2.i++与++i效率的比较。

(1)內建数据类型时,他们的效率差别不大。

(2)自定义数据类型(类等)的情况,(++i)可以返回对象的引用,而(i++)必须返回对象的值,所以导致在大对象的时候产生了较大的复制开销,效率低。

3.假设浮点变量的名字为x,它与0.0比较:

if((x<=-EPSINON)&&(x<=EPSINON))

if((x<-EPSINON)||(x>EPSINON))

4.注:当表达式中存在无符号类型时,所有的操作数都自动转换成无符。

char getChar(int x,int y)

{

  char c;

  unsigned int a=x;

  (a+y)>10?(c=1):(c=2);

  return c;

}

(1)(7,-7):-7转化成一个很大的数,与7相加正好溢出,其值为0。

(2)(7,-8):-8转化成一个很大的数,与7相加差1就溢出了,返回1。

5.两数交换,推荐使用按位异或的方式。

void swap(int &a,int &b)    //采用引用传参的方式

{

  a^=b;

  b^=a;

  a^=b;

}

6.atexit()函数,在mian()函数执行完后被执行。

头文件:#include <stdlib.h>

atexit()被调用的顺序与他们在main()中注册的顺序相反。

7.sizeof()  //结构体、类等,大小需要对齐。

(1)普通函数不占内存,只用虚函数占用一个指针大小的内存。  //virtual void print() {}

(2)空类:class A{},编译器会安排一个指针大小的内存。

(3)#pragma pack()  //强行改变对其大小

#include <iostream.h>

#pragma pack(2)

struct test{

  char c;

  short s1;

  short s2;

  int i;

}

int main()

{

  cout << sizeof(test)<<endl;

  return 0;

}

=>10

8.inline 内联函数的适用场合:用来定义存取函数(set/get函数等)。

时间: 2024-10-22 18:33:10

c++面试(一)的相关文章

面试宝典_Python.常规算法.0001.在圆圈和框框分别填入1~8数字各一次?

面试题目: 解题思路: 1. 总共8个位置,只要2个圈圈之差等于框框即可,注意倒数第3个数还要和第1个数字运算才算结束,所以可以先生成排列组合然后再通过分片偏移来获取符合条件的结果. 具体实现: #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date    : 2016-12-24 12:19:01 # @Author  : 李满满 ([email protected]) # @Link    : http://xmdevops.blog.51

Web前端面试题目及答案汇总

前端新人在面试前都比较焦虑,担心回答不上面试官的问题,也担心自己紧张,其实这都是心理没底的表现,今天和大家分享web前端开发常见面试题及答案,希望可以帮助即将面试的前端同学顺利通过面试. HTML/CSS部分 1.什么是盒子模型? 在网页中,一个元素占有空间的大小由几个部分构成,其中包括元素的内容(content),元素的内边距(padding),元素的边框(border),元素的外边距(margin)四个部分.这四个部分占有的空间中,有的部分可以显示相应的内容,而有的部分只用来分隔相邻的区域或

Web前端面试指导(一):写好简历是面试成功的第一步

1.1 简历的作用 简历是求职找工作的敲门砖,优秀的简历更能获取面试的机会 简历是用人单位获取你个人信息的最直接的一种方式 如果没有简历,我们的工作不知从何早起. 1.2 初次写简历存在的困境 以前从来没有写过简历,不知道从哪里写起. 简历的内容不知道写什么,本来语文就不好. 简历写好了不知道可不可以,自己也拿捏不准. 简历常见问题 1)  个人信息简介不完整,甚至连性别都没有写 2)  专业技能描述太细,排序不合理 3)  项目太多或太少,项目描述内容太少, 4)  简历雷同 a)  样式雷同

数据结构与算法 3:二叉树,遍历,创建,释放,拷贝,求高度,面试,线索树

[本文谢绝转载,原文来自http://990487026.blog.51cto.com] 树 数据结构与算法 3:二叉树,遍历,创建,释放,拷贝,求高度,面试,线索树 二叉树的创建,关系建立 二叉树的创建,关系建立2 三叉链表法 双亲链表: 二叉树的遍历 遍历的分析PPT 计算二叉树中叶子节点的数目:使用全局变量计数器 计算二叉树中叶子节点的数目:不使用全局变量计数器 无论是先序遍历,中序遍历,后序遍历,求叶子的数字都不变;因为本质都是一样的,任何一个节点都会遍历3趟 求二叉树的高度 二叉树的拷

JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结(转)

hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和学习,使自己在做项目中更加得心应手. 第一方面:开发速度的对比 就开发速度而言,Hibernate的真正掌握要比Mybatis来得难些.Mybatis框架相对简单很容易上手,但也相对简陋些.个人觉得要用好Mybatis还是首先要先理解好Hibernate. 比起两者的开发速度,不仅仅要考虑到两者的特性及性能,更要根据项目需求

Java集合相关面试问题和答案

Java集合相关面试问题和答案 面试试题 1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector.Stack.HashTable和Array.随着集合的广泛使用,Java1.2提出了囊括所有集合接口.实现和算法的集合框架.在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久.它还包括在Java并发包中,阻塞接口以及它们的实现.集合框架的部分优点如下: (1)使用核心集合类降低开发成本,而非实现我们自己的集合类.

【面试】iOS 开发面试题(二)

1. 我们说的oc是动态运行时语言是什么意思? 答案:多态. 主要是将数据类型的确定由编译时,推迟到了运行时. 这个问题其实浅涉及到两个概念,运行时和多态. 简单来说,运行时机制使我们直到运行时才去决定一个对象的类别,以及调用该类别对象指定方法. 多态:不同对象以自己的方式响应相同的消息的能力叫做多态.意思就是假设生物类(life)都用有一个相同的方法-eat; 那人类属于生物,猪也属于生物,都继承了life后,实现各自的eat,但是调用是我们只需调用各自的eat方法. 也就是不同的对象以自己的

iOS开发——面试篇&amp;OC基本语法总结(面试)

OC基本语法总结(面试) C和OC对比 OC中主要开发在什么平台上的应用程序? 答:可以使用OC开发Mac OS X平台和iOS平台的应用程序 OC中新增关键字大部分是以什么开头? 答:OC中新增关键字大部分是以@开头 OC中新增加了那些数据类型? 答: Block类型 指针类型(Class, id类型) 空类型 特殊类型(SEL, nil) 面向对象特性是什么? 答:继承性,封装性,多态性 import和#include有什么区别? 答:import 的功能和 include一样, 是将右边的

关于如何自学web前端以及一些面试的经验分享

自学怎么学好前端开发? 一千个人来回答这个问题有一千种答案,每个人的自学能力各不相同,适合我的方法不一定适合你.但是大家可以相互借鉴,苹果交换过后还是一个苹果,思想交换过后就是两种思想了.我这里把我的方法分享出来,多少也有一些借鉴的经验或者让你少走一些弯路. 有的人喜欢安静的一个人看书专研,有的人喜欢看网络视频教程,而我更偏向于后者,当然你时间充足的话看书加看视频效果更好.学习的主线视频是我花10块钱在某宝上淘的,这套视频是传智播客2015.12-2016.3期间实体班的全程录像,很新,最主要的

JAVA面试必备的知识宝典(一)

相关概念 面向对象的三个特征 封装,继承,多态.这个应该是人人皆知.有时候也会加上抽象. 多态的好处 允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用).主要有以下优点: 可替换性:多态对已存在代码具有可替换性. 可扩充性:增加新的子类不影响已经存在的类结构. 接口性:多态是超累通过方法签名,想子类提供一个公共接口,由子类来完善或者重写它来实现的. 灵活性: 简化性: 代码中如何实现多态 实现多态主要有以下三种方式: 1. 接口实现