c++面经积累<1>
- 引用和指针
- 指针是一个实体,需要分配内存空间,而引用只是一个别名,不需要分配内存空间
- 指针可以有多级,而引用只能有一级。
- 指针和引用的自增运算不一样,指针是指向下一个空间,而引用是引用的变量值增加
- sizeof引用得到引用所指对象的大小,而sizeof指针得到指针的大小。
- static的用法和介绍
- 隐藏:未加static修饰的全局变量和函数具有全局可见性。
- 保持变量内容的持久。
- 默认初始化为0
- 在类中使用static
- 函数体内的static变量作用范围为该函数体。
- 类中的static变量修饰的成员函数属于整个类,这个函数不包括this指针,因为只能访问类的static成员变量
- static成员函数不能被virtual修饰,static成员不属于任何对象或实例。
- 构造函数和析构函数类相关
- 构造函数为什么不能为虚函数?析构函数为什么要为虚函数?
- 虚函数相当于一个指向虚函数表的指针,这个指针存在于对象的内存空间中,如果构造函数是虚函数,那么在对象初始化之前就应该存在。但是此时对象还未初始化,因为构造函数不能是虚函数
- 当派生类对象申请了内存空间,并在析构函数中对这些内存进行释放,如果析构函数采用非析构,那么删除基类指针指向的派生类的对象的时候,就不会发生动态绑定,因为只会调用基类的析构函数,而不会调用派生类的析构函数。
- 构造函数和析构函数中可以调用虚函数吗?
- 不提倡在构造函数和析构函数中调用虚函数
- 构造函数和析构函数中调用虚函数都不使用动态绑定。如果在其中调用虚函数,那么运行的是为构造函数和析构函数自身定义的版本。
- 父类对象在子类对象之前进行构造,此时子类部分的数据成员还未进行初始化。因此调用子类的虚函数是不安全的。
- 析构函数用来销毁一个对象,在销毁一个对象的时候,先调用子类的析构函数,然后调用基类的析构函数,故在调用基类的析构函数的时候,派生类的数据成员已经被销毁,在调用子类的虚函数没有任何意义。
- 构造函数析构函数是否可以抛出异常
- c++只会析构已经完成的对象,在构造函数中抛出异常,控制权转出构造函数之外,因而在对象b的构造函数中发生异常,对象b的析构函数不会被调用,因此发生泄漏
- 如果从析构函数抛出异常,而且没有在当地进行捕捉,那么析构函数执行不完全。
c++面经积累<1>的更多相关文章
- 《Effective Java》学习笔记——积累和激励
从一个实际案例说起 国庆长假前一个礼拜,老大给我分配了这么一个bug,就是打印出来的报表数量为整数的,有的带小数位,有的不带,毫无规律. 根据短短的两个多月的工作经验以及猜测,最终把范围缩小到以下这段 ...
- 【知识积累】try-catch-finally+return总结
一.前言 对于找Java相关工作的读者而言,在笔试中肯定免不了遇到try-catch-finally + return的题型,需要面试这清楚返回值,这也是这篇博文产生的由来.本文将从字节码层面来解释为 ...
- 项目积累(三)CSS
公司不是专门做网站的,偶尔会接到客户让修改前端,有时候和让头疼,自己浏览器兼容问题处理不好. 慢慢积累吧. 先贴出来一些前端代码吧,如下: <div class="test" ...
- 【知识积累】SBT+Scala+MySQL的Demo
一.背景 由于项目需要,需要在Sbt+Scala项目中连接MySQL数据库.由于之前使用Maven+Java进行依赖管理偏多,在Sbt+Scala方面也在不断进行摸索,特此记录,作为小模块知识的积累. ...
- 积累一下SQL
开篇先自我检讨一下,写了博客几年以来首次试过连续两个月没出过博文,有客观也有主观原因,但是最近这年里博文数量也越来越少,博文的质量也每况日下.希望自己一直能坚持下来,多写写博文,这月尽量多写几篇来弥补 ...
- Oracle----SQL语句积累 (Oracle 导入 dmp文件)
Oracle----SQL语句积累 (Oracle 导入 dmp文件) Oracle SQL PL 导入dum文件 1.数据库DBA权限: 注意:这个是在cmd命令行中直接输入,不需要进入Oracl ...
- 记一些之前忘记积累的问题(fiddler 学习、XP系统不能上网、XP不能装fiddler、注册表快速找到)
记一些之前忘记积累的问题: fiddler学习:http://www.cnblogs.com/kingwolf_JavaScript/archive/2012/11/07/FiddlerUI.html ...
- python积累
python积累 一.逐渐积累 python逐渐积累 http://www.cnblogs.com/lx63blog/articles/6051526.html python积累_2 http://w ...
- 分享工作中遇到的问题积累经验 事务日志太大导致insert不进数据
分享工作中遇到的问题积累经验 事务日志太大导致insert不进数据 今天开发找我,说数据库insert不进数据,叫我看一下 他发了一个截图给我 然后我登录上服务器,发现了可疑的地方,而且这个数据库之前 ...
- 【知识积累】BufferedImage类实现图片的切分
一.引言 如何实现图片分割?若有园友用到这个模块,使用Java的BufferedImage类来实现,图片切分也可以作为一个小工具积累起来,以备不时之需. 二.代码清单 package com.lees ...
随机推荐
- 25.Odoo产品分析 (三) – 人力资源板块(6) – 工资表(1)
查看Odoo产品分析系列--目录 工资表不在"应用"中,在搜索该模块时需要将默认的"应用"过滤删除掉. 安装工资表后,出现工资单菜单: 1. 薪资规则类别 ...
- 运行 python *.py 文件出错,如:python a.py
运行 python *.py 文件出错,如:python a.py(下图) 原因:没有安装web.py 解决:下载并安装 网址:http://webpy.org/install#install (h ...
- slice()和subString()
substring() 方法用于提取字符串中介于两个指定下标之间的字符.slice()返回一个子片段,对原先的string没有影响,与subString的区别是,还可以用负数当参数,相当于是lengt ...
- sdk manager闪退
,1确认好sdk环境变量是否都正确 命令行:android 来验证 2确定jdk是否安装正确 命令行:java 和 javac 都没有问题,就将sdk安装版覆盖安装下不要卸载,不然下载的太慢了 ...
- java中的数据类型,运算符,字符串,输入输出,控制流,大数值,数组; 《java核心技术卷i》 第三章:java基本程序结构;
<java核心技术卷i> 第三章:java基本程序结构: 每次看书,去总结的时候,总会发现一些新的东西,这次对于java的数组有了更深的了解: java中的数据类型,运算符,字符串,输入输 ...
- java数据结构 • 面向对象 • 异常 • 随机数·时间
• 语法基础 • 控制流 • 数据结构 • 面向对象 • 异常 • 随机数 //String常用的方法: indexOf charAt charAt codePointAt compa ...
- tkinter——GUI设计实操
1.创建root: from tkinter import * root = Tk() root.title('GUI设计') # root.attributes("-alpha" ...
- 如何设置访问内网web项目
1.若我的项目搭建在一个linux虚拟机上 2.在内网的一台电脑做以下配置 3.测试访问 ******************************************************* ...
- ORACLE中Scalar subquery Caching的hash table大小测试浅析
前阵子总结了这篇"ORACLE当中自定义函数性优化浅析"博客,里面介绍了标量子查询缓存(scalar subquery caching),如果使用标量子查询缓存,ORACLE会 ...
- 服务器CPU繁忙或内存压力引起网络掉包的浅析与总结
最近一段时间遇到了两起有意思的故障,现象都是网络掉包或网络断开,不过这些只是表面现象,引起现象出现的本质才是我们需要关注的重点: 案例1: 平台 :VMware平台 操作系统 :Windows ...