小编Ram*_*ngh的帖子

对于复杂的问题解决练习(例如Graphs),这是一种更好的语言(C++或Python)?

我正在努力研究一些问题和算法.我知道C++,但是一位朋友告诉我,如果用Python完成它会更好.因为开发速度快得多,花在编程细节上的时间也会少,实际上并没有任何解决方案.

编辑2:我打算使用谷歌代码中的python-graph lib,如果您使用过,请提供示例代码.

编辑1:更快 - 更少的时间和更少的工作来编写解决方案

感谢大家的帮助 !

c++ python algorithm graph

4
推荐指数
6
解决办法
1169
查看次数

嵌套函数调用速度与否?

我和朋友有这个愚蠢的争论,需要一个权威的话.

我有这两个片段,想知道哪一个更快?[A或B]

(假设编译器没有优化任何东西)

[一个]

if ( foo () ); 
Run Code Online (Sandbox Code Playgroud)

[B]

int t = foo ();
if ( t )
Run Code Online (Sandbox Code Playgroud)

编辑:伙计们,这对你来说可能看起来很愚蠢,但我有一位硬件工程师朋友,他认为即使没有优化(采取任何处理器,任何编译器对),CASE B总是更快,因为它不会获取内存来自先前指令的结果,但通过绕过该数据直接访问公共数据总线的结果(记住5级流水线).

虽然我的论点是这样的,没有编译器通知要复制或检查多少数据,但是不可能这样做(你必须转到内存来获取数据,没有编译器优化)

c c++ compiler-construction optimization performance

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

C++删除操作符混淆

可能重复:
(POD)释放内存:删除[]是否等于删除?

char* pChar = new char[10];

delete pChar; // this should not work but it has same effect as 
              // delete[], WHY?
              // I know this is illegal, but why does it work?
Run Code Online (Sandbox Code Playgroud)

c++ delete-operator

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

提升MPL生成对象序列化的代码?

我想生成序列化/反序列化代码

class Object
{
    string a;
    int b;
    long c;
    char d;
};
Run Code Online (Sandbox Code Playgroud)

通过查看mpl序列,但我需要能够识别对象并将其检索回来,我无法弄清楚如何获取其成员的名称,我是否必须知道它

代码应该是这样的

void SerializeObject(ostream os)
{
   serialize(object.a, os);
   serialize(object.b, os);

   //serialize(object.member, os);
}
Run Code Online (Sandbox Code Playgroud)

我想用户生成上面的代码只定义一个对应于对象布局的mpl序列,是否可行,你能给我一些提示吗?

我的目标是:

用户mpl::vector<String, int, long, char>为上面的对象定义,我metaprogram可以生成所需的编码.

c++ boost metaprogramming boost-mpl template-meta-programming

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

为什么ofstream无法在C++中打开文件?原因是什么?

我正在尝试打开一个输出文件,我确信它有一个唯一的名称,但它偶尔会失败.我找不到任何有关ofstream构造函数失败的原因的信息.

编辑: 它在某个时间点开始失败,之后它一直失败,直到我停止运行程序写入此文件.

编辑: 偶尔= 22-24小时

代码片段(我不这样会有所帮助,但仍然有人要求它)

ofstream theFile( sLocalFile.c_str(), ios::binary | ios::out );
if ( theFile.fail() ) 
{
    std::string sErr = " failed to open ";
    sErr += sLocalFile;
    log_message( sErr );
    return FILE_OPEN_FAILED;
}
Run Code Online (Sandbox Code Playgroud)

c++

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

我可以使用所有设计模式?

1.我需要构建一个"Web服务服务器(模拟器)",它生成xml文件,并向客户端发送异步调用以进行通知.在这一点上,我正在编写一个代码来生成将用于测试的虚拟XML文件(FileGeneratorClass-- builder)?

2.另外,我是否可以通过一种方式实现这一点,我不必从头开始编写完整的代码来模拟另一个Web服务服务器和另一种文件格式? - 我可以利用哪种模式?

3.对象/类是从Schema文件(对于xml文件)和WSDL(对于Web服务)生成的,如何使我的代码免受这些文件(更新版本)的更改? - 哪种设计模式?

(如果我提供的信息太多或太少,请告诉我,如果您需要我编辑,也请告诉我)

非常感谢你.

免责声明:我是一个完整的新手,使用这个小项目的模式可能有点矫枉过正但我想这样做,以便我学习/理解它.我认为,当我需要在更复杂的项目中执行此操作时,这将给予我信心和清晰度.

c++ oop code-generation design-patterns

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

为什么我不能把"cout <<"作为for_each中的函数参数?

std::vector<int> my_ints;
my_ints.push_back(1);
my_ints.push_back(2);
my_ints.push_back(3);
my_ints.push_back(4);

std::for_each(my_ints.begin(), my_ints.end(), std::cout.operator <<); 
Run Code Online (Sandbox Code Playgroud)

c++ stl

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