小编Pau*_*nta的帖子

使用if __name__ =='__ main __:进行测试

当你编写一些自给自足的脚本时,使用它if __name__ == '__main__'作为编写测试的地方是一个坏主意吗?

python unit-testing

9
推荐指数
2
解决办法
1550
查看次数

C++和Python之间切换控制的价格

我正在开发一个使用Python扩展/编写脚本的C++应用程序.当然,C++通常比Python快得多,但这是否意味着您应该尽可能多地使用Python代码执行C++代码?

我问这个是因为我不确定,在用C++编写的代码和用Python编写的代码之间切换控制是否有任何性能成本?我是否应该在任何场合使用用C++编写的代码,或者我应该避免回调C++来完成简单的任务,因为执行C++代码可能带来的任何速度增益都超出了语言之间切换的成本?

编辑:我应该说清楚,我不是要求它实际解决问题.我纯粹是出于好奇而问,这是值得记住的未来.所以我对替代解决方案不感兴趣,我只想从技术角度了解答案.:)

c++ python performance

9
推荐指数
2
解决办法
671
查看次数

在C,通用容器或安全容器?

在C++中,您可以使用模板同时拥有通用容器和类型安全容器.但是在C中,如果你想要通用容器,你必须(afaik)使用void*,这意味着你失去了类型安全性.要拥有类型安全的容器,您必须为要保留的每种类型的数据重新实现它们.

鉴于C遵循比C++ 更多的程序员知道他所做的理念,在C中什么更惯用的事情:使用通用容器void*,或为每种类型的数据制作自定义容器?

c containers idioms generic-programming void-pointers

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

不同库之间的命名冲突

我正在尝试使用两个静态链接库编译我的程序:SFML和PhysFS.但是,在链接阶段,我收到以下错误:

eror LNK2005:_inflatePrime已在sfml-graphics-s.lib(inflate.obj)中
定义错误LNK2005:_inflateGetHeader已在sfml-graphics-s.lib(inflate.obj)中
定义错误LNK2005:_adler32_combine已在sfml-graphics-s中定义.lib(adler32.obj)
错误LNK2005:_crc32_combine已在sfml-graphics-s.lib(crc32.obj)中
定义错误LNK1169:找到一个或多个多重定义的符号

当两个完全不相关的图书馆出现这种冲突时,我该怎么办?

编辑:哦,请 - 请告诉我,我不打算写一个包装.我已经厌倦了要把事情搞定,我只想写自己的代码.:(

c++

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

生成类唯一的ID的有效方法?

在C++中是否有任何有效的方法来生成类的唯一ID,而不是实例?我正在寻找这种简单程度的东西(这会为每个实例生成一个ID,而不是为每个类类型生成一个ID):

MyClass::MyClass()
{
    static unsigned int i = 0;
    id_ = i++;
}
Run Code Online (Sandbox Code Playgroud)

编辑:为什么我想要唯一的ID.

我正在写一个游戏.我游戏中的所有实体都会有不同的状态(左转,跳跃,站立等); 这些状态在类中定义.每个州都需要拥有自己的ID,以便我可以识别它.

c++ algorithm performance

8
推荐指数
2
解决办法
7640
查看次数

C++:在生产代码中使用typeid

typeid在生产代码中使用通常被认为是不好的做法吗?此外,我注意到typeid返回type_info,其中包括一些元数据(例如带有类型名称的字符串); 有没有办法停用这个?

c++ typeid

8
推荐指数
2
解决办法
2458
查看次数

在D中使用`void main`

我见过使用的D代码void main.这合法吗?如果是,返回non void(int)也合法吗?为什么这种语言允许?

d

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

对象声明在python类中意味着什么,我应该使用它吗?

示例#1:

class Person(object):
    pass
Run Code Online (Sandbox Code Playgroud)

例子#2:

class Person:
    pass
Run Code Online (Sandbox Code Playgroud)

对象声明有什么作用?你应该用吗?我有两个程序都有这两个程序,并不知道它正在制造的差异.如果有人能解释这个概念请.

python oop inheritance

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

成员字段,建设顺序

在C++中,当你在下面看到的内容时,是否保证了构造的顺序?

Logger::Logger()
    : kFilePath_("../logs/runtime.log"), logFile_(kFilePath_)
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

c++ initialization

7
推荐指数
2
解决办法
3055
查看次数

什么是`auto`之前用过的?

我知道在C++ 11之前,auto关键字具有完全不同的含义; 它是一个存储类型说明符,指示具有自动存储类型的对象(即放置在堆栈上).

理论就是这样......你将如何实际使用这个关键字(语法),为什么?另外,我还没有在实际代码中看到这个关键字pre-C++ 11; 什么时候有用(什么时间段)?

c++ history auto c++11 c++03

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