小编Agn*_*ian的帖子

抗锯齿替代品

我在 Windows 上看到过使用 GDI+、Java 以及 Photoshop 和 Gimp 提供的抗锯齿。是否有其他库可以在不依赖主机操作系统支持的情况下提供抗锯齿功能?

graphics platform-agnostic antialiasing raster-graphics

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

检测过度分析

我怎么知道我是否过度分析?

过去3天我一直在追逐一个问题.我经历了很多设计,并使用大约3个课程达成了复杂的解决方案.在与同事讨论后,我意识到我只需要一种方法和一种方法struct.我怎样才能避免成为宇航员架构

analysis platform-agnostic platform-independent

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

CHM文件的窗口位置

我刚刚编译并查看了我的项目中使用的CHM文件.我注意到观众会记住会话中的窗口大小和位置.

HTML帮助查看器在哪里保存每个CHM文件的窗口位置?

chm html-help-workshop

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

OpenOffice PDF导出库

我正在寻找一个允许我将文本和图形输出渲染到PDF文档的库.(开罗肯定是一种选择.)我想知道OpenOffice如何编写PDF文件以查看我是否可以使用相同的库.OpenOffice用于PDF导出的库是什么?

编辑:我正在寻找一个C或C++库.

pdf openoffice.org openoffice-writer

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

std::vector<float> 和 double* - 这有多安全?

这样做安全吗?

double darray[10];
vector<float> fvector;
fvector.insert(fvector.begin(), darray, darray + 10);  // double to float conversion

// now work with fvector
Run Code Online (Sandbox Code Playgroud)

VS2008 给了我一个关于双浮点转换的警告。我如何摆脱这个警告?我认为darray转换float*为没有意义,因为这会改变指针的步长(步幅)。

更新:我知道警告表示什么。但与“afloat = adouble;”不同 在我可以轻松应用强制转换的情况下,在这种情况下我无法消除警告。

编辑:我已经编辑了代码,使其darray不再是函数参数。感谢所有指出这一点的人。

c++ floating-point double warnings stl

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

现代C++对象关系

我有一个使用a struct Node和a 实现的图表struct Edge:

  • 每个Edge都有一个开始和结束Node
  • 每个都Node维护一个Edge从它开始或结束的对象列表

以下是一种可能的实现:

struct Node;

struct Edge {
  Node *st;
  Node *en;
  int some_data;
};

const int MAX_EDGES = 100;
struct Node {
  Edge *edges[MAX_EDGES];
  int some_data;
};
Run Code Online (Sandbox Code Playgroud)

虽然上面的结构可以代表我想到的图形,但我希望在满足以下要求的同时采用"Modern C++"方式:

  1. 避免指针
  2. 使用std::vectorforNode::edges
  3. 能够在标准C++容器中存储NodeEdge对象

这在Modern C++中是如何完成的?可以实现1-3的全部吗?

c++ oop smart-pointers object

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

使用const int作为数组大小

为什么我能够使用本地声明const int的数组声明的大小但是不允许对const int作为参数传递的方法执行相同操作?

例如,在下面的代码中,为什么我只在第2行遇到编译器错误?

void f1(const int dim){
  int nums[dim];  // line 2: errors
}

void f2(){
  const int dim = 5;
  int nums[dim];  // ok
}
Run Code Online (Sandbox Code Playgroud)

c++ arrays const

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

生产质量VC++代码的递归

在编写生产质量的VC++代码时,使用递归是否可以接受?为什么或者为什么不?

recursion visual-c++

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

没有磁盘映像的.NET程序集?

这甚至可能吗?例如,我想将程序集作为来自网络或zip存档的字节流读取,并从RAM本身运行它,而无需在磁盘上创建映像.

.net assemblies

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

WM_DESTROY,WM_CLOSE绕过IMessageFilter

以下是我的消息过滤器:

bool MyFilter::PreFilterMessage(Message %m){
    switch(m.Msg){
    case WM_CLOSE:
    case WM_DESTROY:
    case WM_NCDESTROY:
    case WM_QUIT:
        Debug::WriteLine(L"Gone!");
        break;
    case WM_MOUSEMOVE:
        Debug::WriteLine(L"A mouse! Catch! Catch!!! CATCH!!");
        break;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

我确认我正在过滤大多数邮件而没有问题.然而,我无法接收窗口的关闭按钮后,派出任何消息点击(WM_CLOSE,WM_DESTROY,WM_NCDESTROYWM_QUIT).为什么是这样?

.net windows message-queue imessagefilter winforms

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