小编jma*_*erx的帖子

printf%f小数点后只有2个数字?

在我printf,我需要使用,%f但我不知道如何截断到2位小数:

示例:获取

3.14159

打印为:

3.14

java

50
推荐指数
4
解决办法
16万
查看次数

在没有任何纯虚方法的情况下创建类抽象

我有一个类是听老鼠事件.但是,我不想强​​迫用户实现任何特定的,但我想明确表示他们必须继承它.

有没有办法做到这一点?

谢谢

c++

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

找到多边形的质心?

为了获得中心,我已经尝试为每个顶点添加总数,除以顶点数.

我也试图找到最顶端,最底部 - >获得中点...找到最左边,最右边,找到中点.

这两个都没有返回完美的中心,因为我依靠中心来缩放多边形.

我想缩放我的多边形,所以我可以在它们周围放置一个边框.

找到多边形的质心的最佳方法是多边形可能是凹的,凸的并且有许多不同长度的边?

c c++ vector vector-graphics

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

std :: vector需要让dll-interface被类'X <T>警告的客户端使用

我正在尝试将我的库导出为DLL,但是我为一个使用std :: vector的特定类获得了很多这些警告:

template <typename T>
class AGUI_CORE_DECLSPEC AguiEvent {
    typedef void (*AguiCallbackFptr)(T arg, AguiWidget* sender);
std::vector<AguiCallbackFptr> events;
public:
    void call(AguiWidget* sender, T arg) const;
    void addHandler(AguiCallbackFptr proc);
    void removeHandler(AguiCallbackFptr proc);
    void removeHandler();
    AguiEvent();
};
Run Code Online (Sandbox Code Playgroud)

我得到这样的警告:

警告57警告C4251:'AguiEvent :: events':类'std :: vector <_Ty>'需要让dll接口供'AguiEvent'类的客户端使用

我试图找到如何正确地做到这一点,但MSDN的文档非常适合Windows,我需要这是跨平台的,这样它只能在实际定义AGUI_CORE_DECLSPEC时执行MS特定的东西.

我该怎么做才能摆脱这些警告?

谢谢

c++ dll

45
推荐指数
3
解决办法
5万
查看次数

非常快速的3D距离检查?

有没有办法在结果粗糙的地方进行快速而肮脏的3D距离检查,但速度非常快?我需要做深度排序.我sort像这样使用STL :

bool sortfunc(CBox* a, CBox* b)
{
    return a->Get3dDistance(Player.center,a->center) <
      b->Get3dDistance(Player.center,b->center);
}

float CBox::Get3dDistance( Vec3 c1, Vec3 c2 )
{
    //(Dx*Dx+Dy*Dy+Dz*Dz)^.5 
    float dx = c2.x - c1.x;
    float dy = c2.y - c1.y;
    float dz = c2.z - c1.z;

return sqrt((float)(dx * dx + dy * dy + dz * dz));
}
Run Code Online (Sandbox Code Playgroud)

有可能没有平方根或可能没有乘法的方法吗?

c++ algorithm

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

如何计算pi(π)?

如何编写一个将pi(π)返回给定小数位数的函数?

速度不是问题.我一直在看http://bellard.org/pi/,但我仍然不明白如何获得pi的第n位数.

algorithm math pi

34
推荐指数
7
解决办法
3万
查看次数

Java中std :: vector的等价物?

在Java中,与std :: vector最接近的是什么?我的意思是,这个类可以将T引入其构造函数,然后是pushBack,popBack()并且存储在连续内存(不是链表)中.

谢谢

java

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

在Java中启动进程?

有没有办法在Java中启动进程?在.Net这可以通过以下方式完成:

System.Diagnostics.Process.Start("processname");
Run Code Online (Sandbox Code Playgroud)

在Java中是否有等价物,以便我可以让用户找到应用程序然后它适用于任何操作系统?

java process

32
推荐指数
3
解决办法
8万
查看次数

获取UTF-8编码的std :: string的实际长度?

我的std :: string是utf-8编码所以很明显,str.length()返回错误的结果.

我发现了这些信息,但我不确定如何使用它来执行此操作:

以下字节序列用于表示字符.要使用的序列取决于字符的UCS代码编号:

   0x00000000 - 0x0000007F:
       0xxxxxxx

   0x00000080 - 0x000007FF:
       110xxxxx 10xxxxxx

   0x00000800 - 0x0000FFFF:
       1110xxxx 10xxxxxx 10xxxxxx

   0x00010000 - 0x001FFFFF:
       11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
Run Code Online (Sandbox Code Playgroud)

如何找到UTF-8编码的std :: string的实际长度?谢谢

c++ algorithm

32
推荐指数
5
解决办法
3万
查看次数

将二次贝塞尔曲线转换为立方贝塞尔曲线

将二次贝塞尔曲线(3点)转换为立方贝塞尔曲线(4点)的算法是什么?

c c++ algorithm graphics vector

31
推荐指数
3
解决办法
7838
查看次数

标签 统计

c++ ×6

algorithm ×4

java ×3

c ×2

vector ×2

dll ×1

graphics ×1

math ×1

pi ×1

process ×1

vector-graphics ×1