【C/C++面试常见问题(二)】教程文章相关的互联网学习教程文章

2013面试C++小结

2013年我在厦门c++求职小结1、一般公司出的面试题目中的找错误,都是出自平常公司内部使用过程中出现的真实错误。比如stl 中erase的使用:详细请见 :http://blog.csdn.net/yangruibao/article/details/90400452、在C++中指针可谓之重中之重,大家一定要掌握好基础,有的公司在会出些有关链表的题目来考察大家指针的基本用法,一会有些阅读性的程序来考察大家(大家可以适当关注下二维指针,参考;http://www.cnblogs.com/carekee/a...

C++面试笔记(2)【代码】【图】

11 explicit 显式构造函数explicit修饰的构造函数可用来防止隐式转换class Test1 { public:Test1(int n) // 普通构造函数{num=n;} private:int num; };class Test2 { public:explicit Test2(int n) // explicit(显式)构造函数{num=n;} private:int num; };int main() {Test1 t1=12; // 隐式调用其构造函数,成功Test2 t2=12; // 编译错误,不能隐式调用其构造函数Test2 t2(12); //...

C/C++ 笔试、面试题目大汇总【图】

转自 C/C++ 笔试、面试题目大汇总这些东西有点烦,有点无聊。如果要去C++面试就看看吧。几年前网上搜索的。刚才看到,就整理一下,里面有些被我改了,感觉之前说的不对或不完善。 1.求下面函数的返回值( 微软)int func(x) { int countx =0; while(x) { countx ++; x = x&(x-1); } return countx; }假定x = 9999。 答案:8思路:将x转化为2进制,看含有的1的个数。 2. 什么是“引用”?申明和使用“引用”要注意哪些问题?答:引用...

C++面试题(附答案) (转载)

1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态?virtual修饰符会被隐形继承的。private 也被集成,只事派生类没有访问权限而已。virtual可加可不加。子类的空间里有父类的所有变量(static除外)。同一个函数只存在一个实体(inline除外)。子类覆盖它的函数不加virtual ,也能实现多态。在子类的空间里,有父类的私有变量。私有变量不能直接访问。-------------------------------------------...

面试题61:扑克牌中的顺子(C++)【代码】

题目地址:https://leetcode-cn.com/problems/bu-ke-pai-zhong-de-shun-zi-lcof/题目描述从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。题目示例示例 1:输入: [1,2,3,4,5] 输出: True示例 2:输入: [0,0,1,2,5] 输出: True解题思路构成顺子条件:除大小王之外,其余牌数均未出现重复的情况,可通过判断数组相...

面试题19:正则表达式匹配(C++)【代码】

题目地址:https://leetcode-cn.com/problems/zheng-ze-biao-da-shi-pi-pei-lcof/题目描述请实现一个函数用来匹配包含‘. ‘和‘*‘的正则表达式。模式中的字符‘.‘表示任意一个字符,而‘*‘表示它前面的字符可以出现任意次(含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但与"aa.a"和"ab*a"均不匹配。题目示例示例 1:输入:s = "aa"p = "a"输出: false解释: "a" 无法...

面试题44:数字序列中某一位的数字(C++)【代码】【图】

题目地址:https://leetcode-cn.com/problems/shu-zi-xu-lie-zhong-mou-yi-wei-de-shu-zi-lcof/题目描述数字以0123456789101112131415…的格式序列化到一个字符序列中。在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19位是4,等等。请写一个函数,求任意第n位对应的数字。题目示例示例 1:输入:n = 3 输出:3 示例 2:输入:n = 11 输出:0解题思路确定数字序列中的某一位的数字步骤可分为三步:Step1:确定n所在数字...

【C++面试】常考题复习:排序算法【代码】

// Sort.cpp : 定义控制台应用程序的入口点。 //#include "stdafx.h" #include <stdlib.h>/************************************************************************//* copyright (c) 2014 kernel_main /* c++面试常考点 /* 转载请注明出处:http://www.cnblogs.com/kernel0815/ /************************************************************************///交换两个数void swap(int &a, int &b) {int tmp = a;a = b;b = tm...

C/C++面试题目一

C/C++开发工程师面试题目(一)(附答案分析)推荐:自己根据在面试中碰到做过的一些题目以及总结的题目,希望对面试的同学有所帮助。一、 选择题1. 下列类中( )不是输入输出流类iostream的派生类。A、 fstream B、 ofstream C、 strstream D、 ostrstream 答案:BD 解析:ofstream和ostrstream派生自ostream,而不是iostream。 ...

C++面试宝典2011版

1.new、delete、malloc、free关系delete会调用对象的析构函数,和new相应free仅仅会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同一时候要自己主动运行构造函数,对象在消亡之前要自己主动运行析构函数。因为malloc/free是库函数而不是运算符,不在编译器控...

面试题68 - II: 二叉树的最近公共祖先(C++)【代码】【图】

题目地址:https://leetcode-cn.com/problems/er-cha-shu-de-zui-jin-gong-gong-zu-xian-lcof/题目描述给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]题目示例示例 1:输入: ...

C++面试必备,概念解析【图】

1.C和C++中struct有什么差别?1>C++中的struct类似于class,有变量。有构造函数、虚函数等。有继承,多态等类的特征;2>C中的struct仅仅有变量,不能有函数,可是能够有函数指针2.C++中的struct和class有什么差别?在C++中,两者差别不大,可是有2个基本的差别1>.继承权限:struct默认是public继承;class默认是private继承2>.訪问权限:struct默认是public訪问。class默认是private訪问3.怎样推断一段程序是由C编译程序还是由C++编...

面试复习(C++)之快速排序【代码】

#include <iostream>usingnamespace std;void Quicksort(int *a,int low,int high) {if(low>high){return;}int i=low;int j=high;int key=a[i];while(i<j){while(i<j&&a[j]>=key){j--;}a[i]=a[j];while(i<j&&a[i]<=key){i++;}a[j]=a[i];}a[i]=key;Quicksort(a,low,i-1);Quicksort(a,i+1,high); }int main() {int n=5;int a[10];for(int i=0;i<n;i++){cin>>a[i];}Quicksort(a,0,n);for(int j=0;j<n;j++){cout<<a[j]<<"";}return0; }...

【个人纪录】C++面试总结之三(设计模式)

转: 【个人纪录】C++面试总结之三(设计模式)【个人纪录】C++面试总结之三(设计模式)不严谨之处较多,欢迎大佬指正,在学习的路上不断狂奔比如面试官问了一个设计模式问题,然后就可以针对设计模式这个问题适当展开,不至于问你一个就回答这一个问题,无法完全展示自己技能,适当的展开可以为面试加分哟开始:C++中常用的设计模式有:单例模式、工厂模式、策略模式、适配器模式、原型模式、模板模式、建造者模式、外观模式、组...

C++面试【图】

vector中v[i]和v.at(i)的区别 v[5]; //A v.at[5]; //B 如果v非空,A和B没有任何区别。如果v为空,B会抛出std::out_of_range异常。 c++标准不要求vecor<T>::operator[]进行下标越界检查,原因是为了提高效率。如果需要下标越界检查,使用at。但性能会受到影响,因为越界检查增加了性能开销。 vector扩容原理 新增元素:vector通过一个连续的数组存放元素,如果集合已满,在新增数据的时候,就要分配一块更大的内存,将原来的数据复...