c/c++面试
Italink
瞳閉 & 心開
展开
-
C/C++面试(三)
1.栈内存和堆内存的区别?为什么要区分?函数里面的变量是哪一种内存?栈内存由系统内存管理器自动创建和释放。堆内存可以在运行时动态申请和释放。区分是因为栈内存虽然存取速度很快,但固定大小,而在堆内存中则可以动态申请内存。函数里的变量(局部变量)、形参、临时变量使用的是栈内存。2.malloc和new的区别?malloc是C语言标准库的一个内存分配函数,作用是申请指定大小的空间,并返回一个void指针。而C++中的new是一个运算符,它除了内存分配还有调用对象的构造函数进行初始化,并返.原创 2020-09-19 19:19:41 · 386 阅读 · 0 评论 -
C++归并排序模板——支持lambda表达式,仿函数,迭代器
#include<iostream>#include<vector>using namespace std;template<typename _Iter, typename _Pred>void merge_sort(_Iter begin, _Iter end, _Pred pred) { if (begin + 1 >= end) return; size_t size = distance(begin, end); _Iter mid =.原创 2020-09-14 10:41:38 · 302 阅读 · 0 评论 -
C++快速排序模板——支持迭代器,lambda表达式、仿函数。
#include<iostream>#include<vector>using namespace std;template<typename Iter, typename Compare>void quick_sort(Iter begin, Iter end, Compare comp) { if (distance(begin, end) <= 1) //如果长度为1则无需排序 return; Iter low = begin;.原创 2020-09-13 13:04:29 · 442 阅读 · 0 评论 -
深信服校园招聘c/c++软件开发B卷
链接:https://www.nowcoder.com/test/23090664/summary1、位对齐编写函数align_n,将size的低n位(即:0到n-1位)清零,如果清零前size的低n位不为全零,则在第n位上加1。n满足32>n>0。align_n的函数原型:unsigned int align_n(unsigned int size, int n);输入描述:size(十六进制),n(十进制)输出描述:align_n的运算结果(十六进制)原创 2020-06-05 21:12:19 · 1247 阅读 · 0 评论 -
深信服校园招聘c/c++软件开发A卷
题目链接:https://www.nowcoder.com/test/23090658/summary1、围棋遍历函数calc计算围棋中位置(x,y)处连成一片的棋子个数。所谓连成一片,即沿着棋盘横竖线往任意方向遍历,遍历过程允许转弯,不允许走斜线,中间未出现对方棋子或空子。enum color { NONE, WHITE, BLACK, // 棋子颜色,NONE表示未落子};struct weiqi { enum color board[19][19...原创 2020-06-05 19:56:28 · 1553 阅读 · 0 评论 -
C/C++编程面试题——单链表功能实现
#include <iostream>using namespace std;template<typename _Ty>struct Node { Node* next; _Ty data; Node(_Ty value = {}) :next(nullptr), data(value) {}};template<typename _Ty>class List { using pNode = Node<_Ty>*;public: /.原创 2020-06-03 14:49:50 · 313 阅读 · 0 评论 -
c/c++面试题(指针引用篇)
文章推荐:大话指针1、为什么要用指针?指针用于共享内存,常见的数据结构,比如链表,树,正是因为指针的存在才得以实现。2、为什么要用引用?引用是C++中的特性,它的作用也是为了共享内存,某些方面上,它要优于指针,因为引用不存在空值,定义时必须初始化,且无法更改的缘故,使用引用更加安全,且引用不占用内存。3、指针与引用的区别有哪些?类型 初始化 可修改性 ...原创 2019-11-18 19:03:51 · 1325 阅读 · 0 评论 -
c/c++面试题(内存占用篇)
1、指针占用多少个字节? 指针大小与类型无关,在32位系统(编译环境)下,指针占用4字节,64位系统(编译环境)下,指针占用8字节,有些小伙伴说,为什么我64位系统,在VS上显示指针占用4个字节,是因为你的编译环境为X86(32位),需要在配置管理器中修改编译环境2、strlen与sizeof sizeof是操作符,可以操作变量,类型,它用来计算占用的字节数 ...原创 2019-11-06 14:34:19 · 511 阅读 · 3 评论 -
C/C++字节对齐(图解)
目的:了解字节对齐,可以知道如何计算 类/结构体的大小字节对齐的需求:一些平台为了提升变量的存取效率,对某些特定类型的数据只能从特定地址开始存取,例如有些平台要求读取只能从偶地址开始图解:...原创 2019-11-06 14:00:46 · 648 阅读 · 0 评论 -
c/c++面试题(编程基础篇)
1、i++和++i有什么区别?相同的是变量进行自增操作,区别在于i++返回自增前的值,++i返回自增后的值2、i++和++i哪个效率更高?当i是内置类型时,由于编译器的优化,会使得i++和++i效率相同当i是自定义数据类型时,i++会创建临时对象,因为有了新对象的构造和析构,所以++i的效率高于i++3、怎样的写出风格良好的条件比较语句?当变量是bool类型,使用(!)取反...原创 2019-10-26 10:30:26 · 364 阅读 · 0 评论