小编jma*_*erx的帖子

检查线程是否完成的正确方法?

我正在使用_beginthread在我的应用程序中使用多线程,现在等到所有线程都完成后,我有全局bool,当每个线程完成时设置为true,所以我在while循环之前.必须有一个更清洁的方式这样做?

谢谢

c c++ windows multithreading

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

边缘交叉算法?

给定Polygon P,我有它的顶点顺序.我有一个带有4个顶点的矩形R我怎么能这样做:

如果P的任何边(相邻顶点之间的线)与R的边相交,则返回TRUE,否则返回FALSE.

谢谢

      *             *    


      *             *    
Run Code Online (Sandbox Code Playgroud)

c c++ algorithm

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

简化立方贝塞尔曲线?

我正在努力实现与Adobe Illustrator使用画笔工具完成的工作.它正确地分析和简化了路径,包括其bezier手柄.我实现了Ramer-Douglas-Peucker_algorithm,然而,它并没有真正成为我需要的东西.它适用于线段,但不考虑贝塞尔手柄.是否有算法可以像这个算法一样,但考虑到立方贝塞尔句柄?这个问题是曲线可能是一个角度,但算法只能看到一条直线.

谢谢

c c++ algorithm graphics vector

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

我应该将DECLSPEC放在命名空间中的哪个位置?

给定以下命名空间,我在哪里放置我的declspec(用于dll导出)我想将所述命名空间中的所有方法导出到DLL中?

namespace AguiText {
    void drawTextArea(AguiGraphicsManager *g, const AguiFont &font,const AguiRectangle &area,
        const AguiColor &color, const std::vector<std::string> &lines,
        AguiHorizontalAlignmentEnum horizontalAlignment, AguiVerticalAlignmentEnum verticalAlignment);

    void divideText(std::vector<std::string> &words, 
        const std::string &text,const AguiFont &font, int maxWidth = -1);
    void makeTextLines(const AguiFont &font,const std::vector<std::string> &words,
        std::vector<std::string> &lineWords, int maxWidth );
    void pointInTextArea(const AguiFont &font, 
        const AguiRectangle &area, const AguiPoint &point, 
        const std::vector<std::string> &lines, AguiRectangle &retRect,
        int &retIndex, AguiHorizontalAlignmentEnum horizontalAlignment, AguiVerticalAlignmentEnum verticalAlignment);

}
Run Code Online (Sandbox Code Playgroud)

谢谢

c++

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

什么时候虚拟继承是一个好主意?

我正在制作游戏GUI API,其中每个小部件都继承自Widget类.我在想,当其他人制作自己的小部件时,他们可能对基类不满意.例如,他们可能想要添加getTheme().让我的所有小部件实际上都是从Widget继承,那么这是可能的吗?

谢谢

c++

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

找到一组点的中心,顺时针对它们进行排序?

我想按顺时针方向对点矢量进行排序以形成多边形,但我需要适当的中心来完成.我已经尝试过averages方法,但有些要点根本没有正确排序.找到顺时针分拣点时工作中心的正确方法是什么?

凹陷部分失败了

谢谢

这是一张图片: 在此输入图像描述

绿色圆圈是中心.

它应该看起来更像这样: 在此输入图像描述

c++ algorithm geometry computational-geometry

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

像ENet这样的库,但对于TCP?

我不打算使用boost :: asio,它对我的​​需求来说过于复杂.

我正在为桌面,iPhone和Android构建一个跨平台的游戏.

我发现了一个名为ENet的库,这正是我所需要的,但它使用的UDP似乎不支持加密和其他一些东西.鉴于游戏是一个事件驱动的纸牌游戏,TCP似乎是合适的.

但是,我发现的只有WINSOCK/berkley套接字和bost :: asio.

以下是使用ENet的示例客户端服务器应用程序:

#include <enet/enet.h>
#include <stdlib.h>
#include <string>
#include <iostream>

class Host
{
    ENetAddress address;
    ENetHost * server;
    ENetHost* client;
    ENetEvent event;
public:
    Host()
        :server(NULL)
    {
        enet_initialize();
        setupServer();
    }

    void setupServer()
    {
        if(server)
        {
            enet_host_destroy(server);
            server = NULL;
        }

        address.host = ENET_HOST_ANY;
        /* Bind the server to port 1234. */
        address.port = 1721;

        server = enet_host_create (& address /* the address to bind the server host to */, 
            32      /* allow up to …
Run Code Online (Sandbox Code Playgroud)

c c++ api network-programming

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

制作C风格的回调对象?

我正在使用一个像这样回调的库:

void onReceive (Lacewing::Server &Server, Lacewing::Server::Client &Client,
                char * Data, int Size) {
  /* callback body */
}

Server.onReceive (onReceive); /* to register the handler */
Run Code Online (Sandbox Code Playgroud)

我希望能够将它包装在一个类中,该类可以决定在收到数据包(观察者模式)时要做什么.

我怎么能用C风格的回调做到这一点?该库未定义要继承的接口.

谢谢

c++ liblacewing

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

@overrides for C++?

在C++中是否有一种方法可以确保子类中的虚方法实际上覆盖了超类虚方法?有时当我重构时,我会忘记一个方法然后想知道为什么它没有被调用但是我忘了改变方法签名所以它不再覆盖任何东西.

谢谢

c++

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

派生类是否被视为朋友?

如果我创建基类A而A是B类的朋友,那么一个类可以从A访问B派生出来,或者它允许什么?

谢谢

c++ inheritance friend

5
推荐指数
1
解决办法
3674
查看次数