小编sea*_*n e的帖子

图形实现C++

我想知道在c ++中快速编写图形的实现.我需要数据结构易于操作和使用图形算法(例如BFS,DFS,Kruskal,Dijkstra ......).我需要这个实现的算法Olympiad,所以更容易编写数据结构更好.

你能建议这样的DS(主要结构或类别以及将在其中的内容).我知道邻接列表和邻接矩阵是主要的可能性,但我的意思是更详细的代码示例.

例如,上次我必须为DFS实现图形时,我想到了这个DS:

struct Edge {
  int start;
  int end;
  struct Edge* nextEdge;
}
Run Code Online (Sandbox Code Playgroud)

然后使用一个大小为n的数组,在第i个位置包含表示从第i个节点开始的边的边缘列表(struct Edge).

但是当在这个图上尝试DFS时,我不得不用大约10个while循环编写50行代码.

有什么'好'的实施?

c++ graph

39
推荐指数
4
解决办法
18万
查看次数

如何关闭容错堆?

我最近在启动应用程序时在Visual Studio 2005输出窗口中看到了这一行:
FTH:(7156):***应用于当前进程的容错堆填充程序.这通常是由于以前的崩溃造成的.***

我尝试使用以下说明关闭容错堆:http:
//msdn.microsoft.com/en-us/library/dd744764(VS.85).aspx

我正在运行Windows 7 64位版本,因此我对32位和64位注册表进行了更改,并使用32位和32位运行"Rundll32.exe fthsvc.dll,FthSysprepSpecialize"命令. 64位版本的Rundll32.exe.

但是,重新启动后,我仍然在尝试调试应用程序时获得容错堆!

这是一个真正的问题,因为它掩盖了我试图重现的错误,并且它也会杀死性能.

有没有人有任何其他建议如何禁用容错堆?

heap fault-tolerant-heap windows-7

35
推荐指数
4
解决办法
3万
查看次数

C++ [Windows]可执行文件所在文件夹的路径

我需要fstream在Windows上使用我的C++应用程序访问某些文件.这些文件都位于我的exe文件所在文件夹的子文件夹中.

  • 什么是最简单,最重要的:获取当前可执行文件夹路径的最安全方法?

c++ windows

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

是否可以在C#和非托管C++之间共享枚举声明?

有没有办法在本机(非托管)C++和(托管)C#之间共享枚举定义?

我在完全非托管代码中使用了以下枚举:

enum MyEnum { myVal1, myVal2 };
Run Code Online (Sandbox Code Playgroud)

我们的应用程序有时使用托管组件.该C#组件通过托管C++ interop dll(来自本机dll)获取枚举项值为int.(只有在需要C#组件时才会加载interop dll.)C#组件重复了枚举定义:

public enum MyEnum { myVal1, myVal2 };
Run Code Online (Sandbox Code Playgroud)

有没有办法消除重复,而无需将原生C++ DLL转换为托管dll?

c# c++ enums native managed

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

我无法在Visual Studio 2010中编辑选定的文本前景色.任何人都知道如何执行此操作?

让我演示给你看:

替代文字

如您所见,"项目前景"已禁用.

我想相信我的结果有些不对劲,因为能够选择用于编程的颜色是程序员的基本权利.没有人应该把这个功能带走并且不受惩罚.

fonts themes colors visual-studio-2010

12
推荐指数
2
解决办法
4805
查看次数

由于后期构建步骤,未加载本机dll的符号(pdb)

我有一个用符号构建的本机发行版dll.有一个修改dll的post构建步骤.post构建步骤会进行一些压缩,并可能附加一些数据.pdb文件仍然有效,但是在构建后步骤之后,WinDbg和Visual Studio 2008都不会加载dll的符号.我们需要修改pdb文件或dll中的哪些位以使WinDbg或Visual Studio在加载引用我们的版本dll的转储时加载符号?

文件大小是否重要?校验和或哈希?时间戳?

修改转储?还是修改pdb?在发货前修改dll?

(我们知道pdb是有效的,因为我们可以使用它来手动获取引用已发布的dll的转储调用堆栈中的地址的符号名称.这只是*ss中的一个完全痛苦,对于调用堆栈中的每个地址都可以手动执行所有线程.)

c++ windows minidump windbg visual-studio

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

功能的模板

我在接受采访时问过这个问题:

假设你有一个函数可以接受任何类型的参数和任意数量的参数.你会如何编写模板函数?

我不知道确切的答案.任何人都可以建议吗?

c++ templates

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

TaskDialog 在 Visual C++ 中始终位于顶部

有没有办法让 TaskDialog 始终位于顶部(即系统模式)?

我检查了 TaskDialogConfig 结构(http://msdn.microsoft.com/en-us/library/bb787473(VS.85).aspx),但我没有任何运气。

任何人都知道如何做到这一点或是否可能?

modal-dialog taskdialog visual-c++

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

应用程序设置界面

里德·科普西 (Reed Copsey) 对以下 SO 问题做出了回应:

哪些设计模式可以应用于配置设置问题?

我更喜欢创建一个用于设置查询、加载和保存的界面。通过使用依赖注入,我可以将其注入到需要它的每个组件中。

有人可以给出这样的代码示例吗?例如,电子邮件客户端的设置类和 FTP 客户端的另一个设置类,基于这个可以是 DI 的“接口”。我知道您可以对应用程序中的所有设置进行全局单例(我目前正在这样做),但是 Reed 的这个建议很有趣,并且想尝试一下。

c# design-patterns interface application-settings

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

如何在Visual Studio 2010中为CSS文件启用错误检测?

如何在Visual Studio 2010中为CSS文件启用错误检测?它据说是工具选项,但我似乎无法找到它.

css visual-studio

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

Visual Studio:自动打开Intellisense

我输入一个字母后有没有办法让Intellisense(CTRL + Space)自动打开?每个代码行按CTRL + Space真的很烦我

intellisense visual-studio visual-c++

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

C++ struct初始化断言失败

#include <cassert>
#include <string>
struct AStruct 
{ 
    int x; 
    char* y; 
    int z; 
};
int main()
{ 
    AStruct structu = {4, "Hello World"};
    assert(structu.z == ???);
}
Run Code Online (Sandbox Code Playgroud)

我应该写什么来取代???成功的断言?
我用过assert(structu.z == 0);但很遗憾得到了错误
int main(): Assertion 'structu.z == 0 failed.Aborted'

c++ struct assert

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

是否可以通过反转Qt .qm消息文件来生成源xml?

Qt Linguist或lrelease是用于生成二进制.qm Qt消息文件的工具.

有没有办法扭转生成.qm文件的过程?

目标是反转.qm文件并通过一些修改重新编译它,但无法访问原始源.

qt translation localization

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