相关疑难解决方法(0)

在性能方面使用std :: memcpy()或std :: copy()会更好吗?

memcpy如下所示使用它是否更好,或者std::copy()在性能方面更好用?为什么?

char *bits = NULL;
...

bits = new (std::nothrow) char[((int *) copyMe->bits)[0]];
if (bits == NULL)
{
    cout << "ERROR Not enough memory.\n";
    exit(1);
}

memcpy (bits, copyMe->bits, ((int *) copyMe->bits)[0]);
Run Code Online (Sandbox Code Playgroud)

c++ optimization performance

154
推荐指数
5
解决办法
11万
查看次数

现代C++游戏编程实例

现代C++的功能在多大程度上如下:

  1. 多态性,
  2. STL,
  3. 异常安全/处理,
  4. 基于策略的类设计的模板,
  5. 智能指针
  6. new/delete,placement new/delete

用于游戏工作室?我很想知道库的名称和它们使用的C++特性.例如,Orge3D使用所有现代C++功能,包括异常和智能指针.换句话说,如果我要使用现代C++寻找游戏库的示例,我会去Orge3D.但我不知道这些功能是否会阻止游戏工作室使用Orge3D.

此外,我不知道是否还有其他例子.例如,我在一段时间之前使用过Box2D,但它只使用了placement new和class关键字作为C++特性.由于所有成员都是公开的,因此即使封装也在这些类中被打破.

理想情况下,如果C++功能最适合所有情况,那么最常使用这些功能.但似乎没有.阻抗是什么?显而易见的是必须阅读一摞书,但这只是半个原因.这个问题是对" 游戏编程的C++ - 爱还是不信任? " 的后续跟进(从回答中我得到的印象是许多C++特性仍未在游戏中使用;这不一定是应该的方式).

c++

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

标签 统计

c++ ×2

optimization ×1

performance ×1