小编Tra*_*tal的帖子

可以将多少个方块打包成圆圈?

一个大小为a × a的正方形可以装入半径为R的圆中?

我不需要解决方案.我只是需要某种创意.

language-agnostic algorithm math geometry packing

6
推荐指数
1
解决办法
1万
查看次数

比较指针对象的相等性

处理C(有时是C++)中的指针,我得到了一个有趣的例子:假设我们有一个结构(C结构),如下所示:

struct qwe
{
    int someData;
    qwe *ptr;
}
Run Code Online (Sandbox Code Playgroud)

以及一些代码:

struct qwe d, *p = &d;
p->someData = 1;
p->ptr = p;
Run Code Online (Sandbox Code Playgroud)

我理解这些指针指向同一个对象并基于==语言规范的定义,使用此运算符如下:

if (p == p->ptr)
    printf("True\n");
Run Code Online (Sandbox Code Playgroud)

将True打印到控制台窗口.现在,这是好的和一切,但这两个指针根本不是同一个对象.这里的问题是关于是否有办法检查POINTER的平等性.现在,我知道我可以做一些事情,创建一个指向这些指针的指针,然后比较这些新指针==,如下所示

struct qwe** pToPtr_1 = &p;
struct qwe** pToPtr_2 = &(p->ptr);
if (pToPtr_1 == pToPtr_2)
    printf("True\n");
Run Code Online (Sandbox Code Playgroud)

,它不会产生任何输出到控制台,但我想知道是否有办法直接比较指针地址.我确实理解这有点无用(至少基于我目前对C编程语言和需求的理解)但我仍然想知道C(或C++)中是否存在这样的特性.

c c++ pointers reference

3
推荐指数
2
解决办法
623
查看次数

使用rundll32运行C++ DLL - 缺少条目

所以我正在尝试使用rundll来测试和运行我的C++编写的DLL,我已经遵循了这里和其他网站上的指南,入口点如下所示:

__declspec(dllexport)  void CALLBACK entry(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow)
{
    //do stuff
}
Run Code Online (Sandbox Code Playgroud)

但rundll进程提示我一个错误消息框说"C:\ path\to\DLL Missing entry:entry"中的错误

尝试执行命令:"rundll32 C:\ path\to\DLL,entry".

c++ dll rundll32

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

标签 统计

c++ ×2

algorithm ×1

c ×1

dll ×1

geometry ×1

language-agnostic ×1

math ×1

packing ×1

pointers ×1

reference ×1

rundll32 ×1