面试题
文章平均质量分 66
Amberda
(ˉ▽ ̄~)
展开
-
单链表面试题汇总
之前我们实现过单链表的一些简单接口,而单链表还有一些面试题非常重要,今天来看一下一些常见面试题的实现 (注:本文调用的简单接口实现:http://blog.csdn.net/qq_34021920/article/details/76594389)1.从尾到头打印单链表void RPrintList(pList plist);//从尾到头打印链表(不改变链表)从尾到头打印单链表,...原创 2017-08-03 18:28:08 · 2810 阅读 · 18 评论 -
面试题-----大数相乘问题
在计算机中存储数据的大小是有限的,当我们需要表示一个很大的数的时候应该很自然就能想到用字符串。字符串相乘问题在笔试面试中也比较常见,直接上思想:我们可以借助于可动态调整大小的数据结构(vector,string,deque)模拟实现数字的乘法操作。对于普通的乘法,我们知道m位数和n位数相乘,最后的结果位数在区间[m+n-1,m+n]内。 举个例子:25*23 就是标准的手动乘法运算,只...原创 2018-07-16 21:29:26 · 638 阅读 · 0 评论 -
C语言-----全局变量、局部变量、静态全局变量、静态局部变量的区别和联系
转自:全局变量、局部变量、静态全局变量、静态局部变量的区别C++变量根据定义位置的不同,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名作用域和文件作用域。从作用域看:全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然...转载 2018-07-14 23:41:26 · 1561 阅读 · 0 评论 -
C++-----不能声明为虚函数的函数和建议声明为虚函数的函数
不能声明为虚函数的函数1. 普通函数普通函数不是类的成员函数,所以只能被重载而不能被重写,声明为虚函数也没有任何的意义。而且编译器会在编译时绑定函数,但动态多态体现在运行时绑定。2. 静态成员函数首先静态成员函数不属于任何类对象或类实例,它是所以类对象共享的,所以静态函数变为虚函数没有意义。 其次静态函数中没有this指针,而虚函数依靠虚表指针和虚表来调用,虚表指针在类的构造函数...原创 2018-08-03 17:46:47 · 330 阅读 · 0 评论 -
C语言-----模拟实现内存操作函数(memset、memcpy、memmove、memcmp、memchr)
之前实现过一些字符串操作函数,在C标准库中还有一些操作内存的函数1、 memset这个函数是用来设置内存内容的,平时我们可以利用它来初始化一段连续空间。 要注意的是这个函数的后两个参数,第二个参数是int,但是具体使用的时候用的是char类型,第三个参数是你要设置内存的大小,以字节为单位。void* my_memset(void* buf, int value, size_t n...原创 2018-07-30 18:05:41 · 587 阅读 · 0 评论 -
C++----浅析智能指针
背景到目前为止,我们编写的程序中所使用的对象都有着严格定义的生命周期。全局对象在程序启动时分配,在程序结束时销毁。对于局部自动变量,当我们进入其定义所在的程序块时被创建,在离开块的时候销毁。局部static对象在第一次使用前分配,在程序结束时销毁。 除了自动和static对象外,C++还支持动态内存分配。动态分配的对象的生命周期与它们在何处创建是无关的,只有它们被显示释放时,这些对象才会销毁...原创 2018-08-05 12:22:42 · 244 阅读 · 0 评论 -
设计一个类不能被继承、设计一个类只能在堆上创建实例,设计一个类只能在栈上创建实例
设计一个类不能被继承、设计一个类只能在堆上创建实例,设计一个类只能在栈上创建实例方式一:把构造函数声明为私有函数(该方法创建的类只能在堆上创建实例)在C#中有关键字sealed,在Java中有关键字final它们修饰的类不能被继承 在C++中我们知道,子类的构造函数会自动调用父类的构造函数,子类的析构函数也会自动调用父类的析构函数,所以我们可以把父类的构造函数和析构函数定义为私有函数 ...原创 2018-09-04 11:39:47 · 362 阅读 · 0 评论