小编use*_*337的帖子

malloc如何分配小于4KB的内存?

如果malloc调用VirtualAlloc()函数来分配内存(分配最小4Kb),malloc如何为int分配4个字节?

c c++ malloc virtualalloc

3
推荐指数
1
解决办法
896
查看次数

红黑树的直觉

我想了解红黑树是如何工作的.我理解算法,如何在插入和删除操作后修复属性,但我不清楚.为什么红黑树比二叉树更平衡?我想了解直觉,为什么旋转和固定树属性使红黑树更加平衡.

谢谢.

algorithm binary-tree red-black-tree

3
推荐指数
1
解决办法
520
查看次数

为什么无法从具有PAGE_GUARD保护的块读取数据?

我使用ReadProcessMemory函数从地址空间读取数据.我尝试从所有具有MEM_PRIVATE类型的块读取.但是当该块具有PAGE_GUARD保护时,我得到错误(函数返回0),为什么?

谢谢大家.

windows operating-system readprocessmemory virtualquery virtual-address-space

2
推荐指数
1
解决办法
607
查看次数

如何在c ++中使用任何函数的typedef?

我想我想要一些不可能的东西,但至少我可以问))

我们可以输入一个函数的指针,它什么都没有,并且没有返回这样的东西.

typedef void (*fpointer)();
Run Code Online (Sandbox Code Playgroud)

如果函数得到一个int,那么

typedef void (*fpointer)(int);
Run Code Online (Sandbox Code Playgroud)

所以我想知道,我可以输入任何函数的指针吗?(非集体成员)

谢谢大家.

编辑:

    template <typename T>
    struct IsMemberFunctionPointerRaw
    {enum{result = 0};};

    template <typename T, typename S>
    struct IsMemberFunctionPointerRaw<T (S::*)()> 
    {enum {result = 1};};
Run Code Online (Sandbox Code Playgroud)

...........................................

    template <typename T, typename S, 
        typename P01, typename P02, typename P03, typename P04, typename P05,
        typename P06, typename P07, typename P08, typename P09, typename P10,
        typename P11, typename P12, typename P13, typename P14, typename P15,
        typename P16, typename P17, typename P18, typename P19, typename P20>
    struct IsMemberFunctionPointerRaw<T …
Run Code Online (Sandbox Code Playgroud)

c++ typedef member-function-pointers function-pointers c++11

0
推荐指数
1
解决办法
175
查看次数