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 ...
随机推荐
- UOJ#310. 【UNR #2】黎明前的巧克力(FWT)
题意 题目链接 Sol 挂一个讲的看起来比较好的链接 然鹅我最后一步还是没看懂qwq.. 坐等SovietPower大佬发博客 #include<bits/stdc++.h> using ...
- 浅谈运维中的安全问题-FTP篇
写这一系列文章的动因很简单,在年前最后一个项目的时候在客户现场做了的几个安全加固.由于时间问题,很多东西就拿来主义没经过思考直接更改了,并未细细品味其中的原理和方法,所以特地搭建实验环境,分析下其中的 ...
- 使用vuejs2.0和element-ui 搭建的一个后台管理界面
说明: 这是一个用vuejs2.0和element-ui搭建的后台管理界面. 相关技术: vuejs2.0:一套构建用户界面的渐进式JavaScript框架,易用.灵活.高效. element-ui: ...
- mysql的数据类型和字段属性
本文内容: 数据类型 数值类型 整数型 浮点型 定点型 日期时间类型 字符串类型 补充: 显示宽度与zerofll 记录长度 字段属性 空\不为空值:NULL.NOT NULL 主键:primary ...
- java--反射机制总结
一.什么是Java反射机制? JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法:这种动态获取的以及动态调用对象的方法的功能 ...
- Orchard详解--第八篇 拓展模块及引用的预处理
从上一篇可以看出Orchard在处理拓展模块时主要有两个组件,一个是Folder另一个是Loader,前者用于搜索后者用于加载. 其中Folder一共有三个:Module Folder.Core Fo ...
- .net core系列之《.net core内置IOC容器ServiceCollection》
一.IOC介绍 IOC:全名(Inversion of Control)-控制反转 IOC意味着我们将对象的创建控制权交给了外部容器,我们不管它是如何创建的,我们只需要知道,当我们想要某个实例时,我们 ...
- UGUI ContentSizeFitter之Button根据Text自适应
环境 Unity3D 5.3.6f1 练习地址:https://github.com/zhaoqingqing/UGUIDemo 布局放在Layout文件夹 文档:https://docs.unit ...
- ini (ini-parser)配置文件解析 for donet
介绍 此ini解析库适用于mono(unity3d),donet,大小在30kb左右. 开源免费:https://github.com/rickyah/ini-parser 使用示例 engine_c ...
- 常见 User-Agent 大全(自己在用)
分享几个常见的User-Agent吧,复制粘贴过来的,谢谢原创. window.navigator.userAgent 1) Chrome Win7: Mozilla/5.0 (Windows NT ...