- 博客(7)
- 收藏
- 关注
原创 内存对齐三原则
原则A:struct或者union的成员,第一个成员在偏移0的位置,之后的每个成员的起始位置必须是当前成员大小的整数倍;原则B:如果结构体A含有结构体成员B,那么B的起始位置必须是B中最大元素大小整数倍地址; 原则C:结构体的总大小,必须是内部最大成员的整数倍;
2016-09-10 22:30:58 859
原创 我的Map实现
实习期间写了一个Map的实现,实验结果似乎要好过std::map,在这里贴出来,希望大家指教。#ifndef RBTREE_H#define RBTREE_H#include #include #include templateclass Cmap{#pragma region rbnode struct _rbnode { typedef enum { _re
2016-09-02 09:11:13 1011
原创 C++全局变量与静态变量构造析构顺序问题
今天看到C++全局变量和静态局部变量的构造析构顺序的一道题,自己不会,于是就做了个实验,记录下来。实验代码如下:#include class A{ int aaa;public: A(int aa){aaa = aa;printf("%d\n",aa);} A(const A& rhs){printf("hahaha\n");} ~A(){printf("
2016-08-25 16:16:51 7191 1
原创 闭包VS协程
这段时间在看闭包与协程的东西,写点东西来总结一下:闭包:函数与其相关的引用环境所组合而成的实体。维基百科上对闭包的解释是:闭包可以用来在一个函数与一组“私有”变量之间创建关联关系。在给定函数被多次调用的过程中,这些私有变量能够保持其持久性。变量的作用域仅限于包含它们的函数,因此无法从其它程序代码部分进行访问。不过,变量的生存期是可以很长,在一次函数调用期间所创建所生成的值在下次函数调用时仍然存
2016-08-25 15:09:30 781
原创 多线程VS多进程
最近要准备面试,面试中被比较多问到的一个问题就是多进程和多线程有什么区别的问题。以前看过一些资料,今天来总结一下。进程是计算机资源调度的基本单位,所有与进程相关的资源都被记录在进程控制块PCB中,以表示进程拥有或正在使用它们,进程拥有一个完整的虚拟地址空间。与进程对应,线程是CPU资源调度的基本单位,它属于某一个进程,并与进程中其他线程共享进程资源,线程拥有自己的局部变量以及栈。多
2016-08-17 20:15:27 674
原创 网易内推笔试题,画家
今天上牛客网刷题,看到一道网易内推笔试题,想了好久还是想不出答案,它的原题如下:你就是一个画家!你现在想绘制一幅画,但是你现在没有足够颜色的颜料。为了让问题简单,我们用正整数表示不同颜色的颜料。你知道这幅画需要的n种颜色的颜料,你现在可以去商店购买一些颜料,但是商店不能保证能供应所有颜色的颜料,所以你需要自己混合一些颜料。混合两种不一样的颜色A和颜色B颜料可以产生(A XOR B)这种颜色的颜
2016-08-15 21:05:41 429
原创 一个随机数生成遇到的问题
今天用C#语言需要用到Random类生成随机数,但遇到了一个奇怪的问题,每次生成的随机数都完全一样。原始的代码类似于这样:for(var tmp in Container){Random rand = new Random();for(int i = 0; i < SomeNumber; i++){int RandNumber = rand.next();}}遇
2016-08-11 16:23:36 675
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人