我已经使用boost序列化,但是这似乎不允许我生成符合特定模式的xml – 看来它的目的只是保持一个类的状态。 平台:linux 你们用什么来生成不parsingxml? 到目前为止,我正在顺着Foredecker自己生成的路线 – 这不是一个大的文档,但我真的不应该有这么多的麻烦find一个体面的库来正确地生成它。 至于提升,我希望能够做的事情是设置节点名称,在我的节点中设置属性,并摆脱所有附带的废话,因为我真的不在乎必须把我的文件回到那个class。
如果我有三个class,A,B,C,A和B是朋友(双向)。 另外,B和C是朋友(双向)。 A有一个指向B的指针,B有一个指向C的指针。为什么不能通过指针访问C的私有数据? 只是澄清:这是一个纯粹的理论C ++语言问题,而不是一个devisebuild议的问题。
如何获取窗口的位图对象在C + +的屏幕截图? 假设我已经有窗口句柄了。 而且我也想知道当它处于最小化状态时是否可以获得窗口的屏幕截图 ? 这里的C ++是指所有与Windows XP +(win32)相关的库的VC ++。
我想看看不同的C / C ++函数(如strcpy,stcmp,strstr)的实现。 这将帮助我了解c / c ++中的良好编码习惯。 你能让我知道我在哪里可以find它? 谢谢。
有一个优秀的C ++解决scheme(实际上是2个解决scheme:recursion和非recursion)到整数向量向量的笛卡尔乘积 。 为了说明/简单起见,让我们只关注非recursion版本 。 我的问题是,如何可以推广这个代码与模板采取一个std::tuple同构向量std::tuple看起来像这样: {{2,5,9},{"foo","bar"}} 并生成一个tuple向量 {{2,"foo"},{2,"bar"},{5,"foo"},{5,"bar"},{9,"foo"},{9,"bar"}} 如果它使生活更容易,让我们假设input中的内部向量是均匀的。 所以这样的input是不允许的 : {{5,"baz"}{'c',-2}} 编辑改变input从锯齿状vector到元组
为什么我在哈希表上看到这些函数的不同运行时复杂性? 在维基上,search和删除是O(n)(我认为哈希表的重点是有恒定的查找,所以如果search是O(n),有什么意义)。 在某些课程笔记中,我看到了一些复杂性,取决于某些细节,包括所有的O(1)。 为什么如果我能得到所有的O(1),还有其他的实现呢? 如果我在像C ++或Java这样的语言中使用标准哈希表,我可以期望时间复杂度是多less?
我正在尝试创build一个处理popup窗体的策略,以供我的应用程序的任何部分使用。 我的理解到目前为止,我将需要在我的主窗口的根单个UserControl 。 这将被绑定到它自己的ViewModel,它将处理在应用程序内发送的消息。 我正在使用MVVM Light,对于Messenger类我还是比较新的。 想象一下Master / Details场景,一个对象包含在ListBox 。 select这些项目中的一个,然后单击“编辑”button将显示一个覆盖整个屏幕的UserControl 。 用户可以编辑所选项目,然后单击确定提交更改。 我想打开的UserControl是“通用”的方式,我可以抛出任何(可能是一个ViewModel)…它通过DataTemplate呈现ViewModel并处理所有对象的变化。 点击确定将callback到发送类,并像以前一样坚持更改。 有些情况下,这将是有用的是… 显示不需要用户input的错误消息(除了确定closures它) 显示数据项目的编辑表单 确认对话框(很像标准的MessageBox) 任何人都可以提供任何代码样本,我怎么可能实现这个?
我有几个不同的function,看起来像这样的代码: void someFunction (int *data) { data = (int *) malloc (sizeof (data)); } void useData (int *data) { printf ("%p", data); } int main () { int *data = NULL; someFunction (data); useData (data); return 0; } someFunction ()和useData ()在单独的模块(* .c文件)中定义。 问题是,虽然malloc工作正常,并且分配的内存在someFunction函数中可用,但是一旦函数返回,相同的内存就不可用。 程序的一个例子可以在这里看到,输出显示了不同的内存地址。 有人可以请给我解释我在这里做错了什么,我怎么能得到这个代码工作? 编辑:所以它看起来像我需要使用双指针来做到这一点 – 当我真的需要使用双指针时,我将如何去做同样的事情? 所以例如数据是 int **data = NULL; //used for […]
我正在寻找创build两个类,其中每个包含其他类types的对象。 我该怎么做? 如果我不能做到这一点,是否有一个解决方法,像每个类包含一个指向其他类types的指针 ? 谢谢! 这是我有: 文件: bar.h #ifndef BAR_H #define BAR_H #include "foo.h" class bar { public: foo getFoo(); protected: foo f; }; #endif 文件: foo.h #ifndef FOO_H #define FOO_H #include "bar.h" class foo { public: bar getBar(); protected: bar b; }; #endif 文件: main.cpp #include "foo.h" #include "bar.h" int main (int argc, char […]
可能重复: 如何将C ++中的double转换为string? 我想结合一个string和一个双和g ++是抛出这个错误: main.cpp:在函数'int main()'中: main.cpp:40:错误:types'const char [2]'和'double'的操作数无效到二进制'operator +' 这里是它抛出错误的代码行: storedCorrect [count] =“(”+ c1 +“,”+ c2 +“)”; storedCorrect []是一个string数组,c1和c2都是双精度的。 有没有办法将c1和c2转换为string,以允许我的程序正确编译?