小编App*_*ker的帖子

哪个更快?++,+ =或x + 1?

我正在使用C#(这个问题也适用于像C++这样的类似语言),我试图找出最快,最有效的增量方法.在我的游戏中,它不仅仅是一个或两个增量,而是每秒300个增量.就像屏幕上每个精灵的帧都在递增,我的RPG角色的速度和位置,相机的偏移等等.所以我在想,最有效的方法是什么?例如,y_pos我可以做的每次运动增加5 :

1.

Player.YPos += 5;
Run Code Online (Sandbox Code Playgroud)

2.

Player.YPos = Player.YPos + 5;
Run Code Online (Sandbox Code Playgroud)

3.

for (int i = 0; i < 5; i++)
{
    Player.YPos++;
}
Run Code Online (Sandbox Code Playgroud)

哪个是最有效的(也是最快的)?

.net c# performance operators

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

为什么.net语言的性能不同?

我听说C++ .NET是最快的,C#是下一个,其次是VB .NET,而Iron-Python和Boo等语言在性能方面排在最后.如果所有.NET语言编译为中间字节代码都相同,为什么性能上有差异?

对于Boo和Python来说,这是可以理解的,因为所有类型都必须在运行时进行评估.但为什么C++和C#等语言之间存在差异?

.net c# performance programming-languages

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

支持C11的编译器

我想知道是否有任何编译器支持相当数量的新C11标准.寻找像Generic Selection等功能.

有什么建议?

c compiler-construction c11

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

什么是void main()错了?

为什么void总是不鼓励在C++中设置入口点的返回类型,后来被标准删除并被现代编译器禁止?为什么它被认为是不好的做法?

现在,据我所知,C#和Java都允许入口点的返回类型为voidie

static void main(String[] args) /* Java */
static void Main(string[] args) /* C# */
Run Code Online (Sandbox Code Playgroud)

C#和Java程序员并不认为这是不好的做法,事实上他们经常使用它.

这是其他语言(只打算是,我怀疑C++会成功在这十年中,至少)C的可能接班人++像d编程语言或瓦拉也允许void main().正如您所看到的,我怀疑C++社区是否将其从标准中删除,因为它过于模糊或不受欢迎.

所以我的问题是,为什么C++社区删除了void main()?这有什么问题?

c++ standards program-entry-point entry-point

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

我们可以像命名空间一样对类名进行别名吗?

我们可以像命名空间一样对类名进行别名吗?

例如:

namespace longname{ }
namespace ln = longname;// namespace aliasing

class LONGNAME {};
class LN = LONGNAME; // how to do class name aliasing, if allowed?
Run Code Online (Sandbox Code Playgroud)

c++

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

printf比std :: cout快5倍多?

#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <ctime>

int main(int argc, char* argv[])
{
    std::clock_t start;
    double duration;    

    std::cout << "Starting std::cout test." << std::endl;
    start = std::clock();

    for (int i = 0; i < 1000; i++)
    {
        std::cout << "Hello, World! (" << i << ")" << std::endl;
    }

    duration = (std::clock() - start) / (double) CLOCKS_PER_SEC;

    std::cout << "Ending std::cout test." << std::endl;
    std::cout << "Time taken: " << duration << std::endl;

    std::system("pause");

    std::cout << "Starting std::printf test." …
Run Code Online (Sandbox Code Playgroud)

c++ performance printf cout

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

在没有参数的函数中使用void?

在C++中使用void没有参数的函数,例如:

class WinMessage
{
public:
    BOOL Translate(void);
};
Run Code Online (Sandbox Code Playgroud)

是多余的,你不妨写一下 Translate();.

我,我自己通常都包括它,因为它在支持IDE显示的代码完成时有点帮助void,因为它确保了该函数绝对没有参数.

我的问题是,添加无void参数函数是一个好习惯吗?现代代码应该鼓励它吗?

c++ methods function void

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

有什么方法可以加速Python和Pygame?

我在Pygame中写了一个简单的自上而下的RPG,我发现它很慢......虽然我不希望python或pygame匹配用C/C++或事件Byte Compiled等编译语言制作的游戏的FPS像Java一样,但目前的pygame的FPS仍然是15.我尝试渲染16色Bitmaps而不是PNG或24位图,这略微提高了速度,然后在绝望中,我将所有内容切换为黑白单色位图,使FPS达到35.但不是更多.现在根据我读过的大多数游戏开发书籍,为了让用户对游戏图形完全满意,2d游戏的FPS至少应该是40,那么有什么方法可以提高pygame的速度吗?

python performance pygame frame-rate

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

太多的导入垃圾邮件我的代码

在我的项目中,我有一个shapes包含我为我的图形程序设计的形状的包,例如Rectangle,Circle.我还有一两个与java.awt类名相同的包.

现在,因为我不想重命名我的代码库中的每个类,为了向我的源文件显示我所说的类,当我声明一个新的Rectangle时,我需要:

1-显式导入矩形类,即导入shapes.Rectangle

要么

2-只导入我需要的java.awt类而不导入java.awt.*,它自动包含awt.Rectangle

现在问题是两种方式导致大量导入,我目前在每个源文件中平均有15-25个导入,这严重地使我的代码混乱和混乱.

代码中的导入太多是件坏事吗?有没有办法解决?

java import coding-style package

12
推荐指数
5
解决办法
2355
查看次数

如何更改文字和背景颜色?

我希望每个角色都是不同的颜色.

例如,

cout << "Hello world" << endl;
Run Code Online (Sandbox Code Playgroud)
  • H会变红
  • e会是蓝色的
  • 会是橙色等等.

我知道这可以做到,我只是不知道它的代码.

我想将背景颜色更改为白色.我该怎么办?

c++ windows

11
推荐指数
3
解决办法
17万
查看次数