1  C++中允许函数的嵌套调用,但不允许函数的嵌套定义

2  构建派生类对象时,先调用基类的构造函数,在调用成员对象的构造函数,最后调用派生类构造函数。

3  volatile关键字

  volatile提醒编译器其后面定义的变量随时可能发生改变,因此编译后的程序每次需要存储或者读取这个变量的时候,都直接从变量的地址读取数据。如果没有这个关键字,则编译器可能会优化该变量的存取,即从寄存器中读取,如果这个变量由别的程序更新的话,将出现不一致的现象。

4  C++中不能重载的运算符 .  .*  ?:  ::  sizeof  

  只能使用成员函数重载的运算符有:=  ()  []  ->  new  delete

  单目运算符最好重载为成员函数

  对于复合的赋值运算符如+=, -=, *=, /=, %=, &=, |=, !=, ~=, <<=, >>=建议重载为成员函数

  对于其它运算符,建议重载为友元函数

5  reinterpret_cast:将一种类型的指针转换为另一种类型的指针或整数,以及其相反的行为,类似于C的强制转换,不做任何类型检测,操作的结果是二进制为拷贝

  static_cast:允许执行隐式类型转换以及相反的转换操作

  dynamic_cast:用于对象的指针或引用,当用于多态类型转换时,允许隐式转换及相反的过程。与static_cast的不同之处,在相反的转换过程中,dynamic_cast会检擦操作的有效性,如果返回的不是被请求的有效完整对象,则返回null,反之,返回这个有效的对象,如果引用返回无效时则会抛出bad_cast的异常。另外,static_cast不能转换有多态的继承和虚继承和非public继承,但dynamic_cast能转换表现为多态的基础和非public继承。还有的差别就是运行时检测,dynamic会花费更多时间。

  const_cast:用于操作被转换对象的const熟悉,设置或移除。

6  静态函数和静态变量属于类本身,不与类对象绑定,因此不能使用this指针;在类定义时,不能对对象直接进行初始化;一般成员变量需要在类内进行初始化;静态成员变量必须在类外初始化,静态成员常量在类中初始化。

7  Java不完全算编译型语言,其编译的字节码文件运行时是解释执行的。java和C++的类也不都是静态绑定的,比如C++的虚函数,Java的父类引用子类对象的情况。Java数组也会溢出。

    

C++面试中可能考察的基础知识(1)的更多相关文章

  1. Java中实现异常处理的基础知识

    Java中实现异常处理的基础知识 异常 (Exception):发生于程序执行期间,表明出现了一个非法的运行状况.许多JDK中的方法在检测到非法情况时,都会抛出一个异常对象. 例如:数组越界和被0除. ...

  2. 守护线程在logback中的使用 - 论基础知识的重要性

    守护线程在logback中的使用 先说问题,在java应用中,logback的异步Appender是怎么在主线程结束后,停下来的? 复盘 我在一个logback的测试用例中,写了这样的代码和logba ...

  3. 《吊打面试官》系列-Redis基础知识

    前言Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行360°的刁难.作为一个在互联网公司面一次拿一次offer的面霸(请允许我使用一下 ...

  4. [不得不知道系列]Java线程面试你不得不知道的基础知识一

    Java内存管理面试指南一 Java基础面试指南一 Java基础面试指南二 Java基础面试指南三 Java基础面试指南四 Java线程面试指南一 Java线程面试指南二 Redis面试指南一 Kaf ...

  5. react组件在项目中的应用(基础知识)

    上图我是定义了5个模块,全部都渲染在一个组件里面.可以先看看我的代码结构 我将Hello文件夹下的index.jsx文件作为父组件,最后渲染在根组件中. 那我们怎么输出这个Hello组件呢?要达到上图 ...

  6. Kafka面试你不得不知道的基础知识

    Java内存管理面试指南一 Java基础面试指南一 Java基础面试指南二 Java基础面试指南三 Java基础面试指南四 Java线程面试指南一 Java线程面试指南二 Redis面试指南一 Kaf ...

  7. 【Unity】6.1 Unity中的C#脚本基础知识

    分类:Unity.C#.VS2015 创建日期:2016-04-16 一.简介 1.常用的C#数据类型 这里简单介绍用Unity开发游戏时,最常用的一些数据类型. (1)基本类型 int.float. ...

  8. 第11天:JS中变量、字符串基础知识

    一.js简介用来制作页面交互效果,提高用户体验. js页面效果:轮播图.选项卡.地图.表单验证javascript是弱变量类型的语言,变量只需要用var来声明.而java要根据变 量类型来声明, in ...

  9. C++程序员面试题目总结(涉及C++基础、多线程多进程、网络编程、数据结构与算法)

     说明:C++程序员面试题目总结(涉及C++基础知识.多线程多进程.TCP/IP网络编程.Linux操作.数据结构与算法) 内容来自作者看过的帖子或者看过的文章,个人整理自互联网,如有侵权,请联系作者 ...

随机推荐

  1. Microsoft Orleans 之简介

    Microsoft Orleans 在.net用简单方法构建高并发.分布式的大型应用程序框架. 原文:http://dotnet.github.io/orleans/ 在线文档:http://dotn ...

  2. mosquitto启动时Address already in use 和 一般的 Address already in use

    对于mosquitto启动时的地址占用错误,可能是mosquitto启动之后没关掉,进程一直占用了端口.查看mosquitto相关的进程,然后关掉就可启动了. 关掉mosquitto进程即可 参考: ...

  3. (八)Jmeter怎么通过后置处理器去做关联

     一.Jmeter关联的方式: Jmeter中关联可以在需要获取数据的请求上 右键-->后置处理器 选择需要的关联方式,如下图有很多种方法可以提取动态变化数据: 二.正则表达式提取器: 1.比如 ...

  4. linux 转移mysql文件操作流程

    1.现将mysql停服 2.将文件拷贝到指定目录cp ./sales_trade_2.ibd /db/data/mysql/data_warehouse/sales_trade_2.ibd 3.检查新 ...

  5. QT学习记录

    QApplication app(argc,argv); 创建了一个QApplication对象,这个对象用于管理应用程序级别的资源.QApplication的构造函数要求两个参数,分别来自main的 ...

  6. mysql(六)索引的数据结构

    先做抽象定义如下: 定义一条数据记录为一个二元组[key, data],key为记录的键值,对于不同的数据记录,key是互不相同的:data为数据记录除key外的数据. B-tree的特点: d为大于 ...

  7. BZOJ1564 NOI2009二叉查找树(区间dp)

    首先按数据值排序,那么连续一段区间的dfs序一定也是连续的. 将权值离散化,设f[i][j][k]为i到j区间内所有点的权值都>=k的最小代价,转移时枚举根考虑是否修改权值即可. #includ ...

  8. 51nod 1532 带可选字符的多字符串匹配(位运算)

    题意: 有一个文本串,它的长度为m (1 <= m <= 2000000),现在想找出其中所有的符合特定模式的子串位置.符合特定模式是指,该子串的长度为n (1 <= n <= ...

  9. 【Aizu2292】Common Palindromes(回文树)

    [Aizu2292]Common Palindromes(回文树) 题面 Vjudge 神TMD日语 翻译: 给定两个字符串\(S,T\),询问\((i,j,k,l)\)这样的四元组个数 满足\(S[ ...

  10. xpose修改手机imei码,注入广告

      何为hook Hook英文翻译过来就是“钩子”的意思,那我们在什么时候使用这个“钩子”呢? 我们知道,在Android操作系统中系统维护着自己的一套事件分发机制.应用程序,包括应用触发事件和后台逻 ...