我正在努力研究一些问题和算法.我知道C++,但是一位朋友告诉我,如果用Python完成它会更好.因为开发速度 会快得多,花在编程细节上的时间也会少,实际上并没有任何解决方案.
编辑2:我打算使用谷歌代码中的python-graph lib,如果您使用过,请提供示例代码.
编辑1:更快 - 更少的时间和更少的工作来编写解决方案
感谢大家的帮助 !
我和朋友有这个愚蠢的争论,需要一个权威的话.
我有这两个片段,想知道哪一个更快?[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级流水线).
虽然我的论点是这样的,没有编译器通知要复制或检查多少数据,但是不可能这样做(你必须转到内存来获取数据,没有编译器优化)
可能重复:
(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) 我想生成序列化/反序列化代码
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
我正在尝试打开一个输出文件,我确信它有一个唯一的名称,但它偶尔会失败.我找不到任何有关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) 1.我需要构建一个"Web服务服务器(模拟器)",它生成xml文件,并向客户端发送异步调用以进行通知.在这一点上,我正在编写一个代码来生成将用于测试的虚拟XML文件(FileGeneratorClass-- builder)?
2.另外,我是否可以通过一种方式实现这一点,我不必从头开始编写完整的代码来模拟另一个Web服务服务器和另一种文件格式? - 我可以利用哪种模式?
3.对象/类是从Schema文件(对于xml文件)和WSDL(对于Web服务)生成的,如何使我的代码免受这些文件(更新版本)的更改? - 哪种设计模式?
(如果我提供的信息太多或太少,请告诉我,如果您需要我编辑,也请告诉我)
非常感谢你.
免责声明:我是一个完整的新手,使用这个小项目的模式可能有点矫枉过正但我想这样做,以便我学习/理解它.我认为,当我需要在更复杂的项目中执行此操作时,这将给予我信心和清晰度.
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)