小编Lyn*_*Dev的帖子

C#垃圾收集 - >到C++删除

我正在将一个C#项目转换为C++,并且有一个关于在使用后删除对象的问题.在C#中,GC当然会处理删除对象,但在C++中,它必须使用delete关键字显式完成.

我的问题是,可以在整个方法中跟踪每个对象的使用情况,然后在它超出范围(即方法结束/重新分配)后立即将其删除吗?

我知道虽然GC在删除之前等待一定大小的垃圾(~1MB); 它是否这样做是因为使用删除时会产生开销?

由于这是我正在创建的游戏,可能每秒都会创建和删除大量对象,因此最好跟踪超出范围的指针,一旦该大小达到1MB,然后删除指针?

(作为旁注:稍后当游戏优化时,对象将在启动时加载一次,因此在游戏过程中没有太多要删除的内容)

c# c++ garbage-collection object delete-operator

5
推荐指数
2
解决办法
2516
查看次数

实时合并3D对象

我想知道人们如何解决合并两个3D对象的问题?

用户可以在场景周围放置形状(立方体,长方体,球体,金字塔),当他移动一个物体与另一个物体相交时,我希望该物体与另一个物体合并而不是通过它.

这是一个更好地解释的图表: 在此输入图像描述

我想也许可以为两个模型生成一个点云,然后从最终从点开始重建模型之前从与球体相交的长方体中移除点?

所有那些点数据肯定会是一个巨大的性能问题呢?不太确定如何从点数据重建模型.

c# c++ directx 3d xna

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

在C++中将数字转换为字符串的最佳方法?

来自C#背景,C#我可以这样写:

int int1       = 0;
double double1 = 0;
float float1   = 0;

string str = "words" + int1 + double1 + float1;
Run Code Online (Sandbox Code Playgroud)

..和字符串的转换是隐含的.在C++我理解的情况下,演员必须是明确的,我想知道问题通常是由C++程序员解决的?

我已经知道网上有很多信息,但似乎有很多方法可以做到,我想知道是否没有标准的做法?

如果你要编写上面的代码C++,你会怎么做?

c++ string casting numbers c++11

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

Clojure - 总结了一堆数字

嘿,我正在做一个项目欧拉问题,我想要总结1000以下3或5倍的数字.

但作为一个clojure菜鸟,我的代码只是不断返回零...我不知道为什么.

(defn sum-of-multiples [max]
  (let [result (atom 0)]
    (for [i (range max)] 
      (if (or (= (rem i 3) 0) (= (rem i 5) 0))
        (swap! result (+ @result i)))    
      )
    @result))

(sum-of-multiples 1000)
Run Code Online (Sandbox Code Playgroud)

线路(swap! result (+ @result i)))也让result += i我感到烦恼..在C#我能做到,但我猜在Clojure中必须有更好的方法吗?

lisp clojure

4
推荐指数
2
解决办法
6823
查看次数

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

实体框架'Where Or'用于多个用户指定的ID

用户能够在搜索框中输入以逗号分隔的ID列表.然后需要转换为以下SQL:

...
WHERE table.idCol = id1 OR table.idCol = id2 OR table.idCol = id3 ...
Run Code Online (Sandbox Code Playgroud)

给定一个字符串数组我需要编写哪些EF代码来生成它?以下不起作用,因为它产生AND

foreach (string idStr in idString.Split(','))
{
    int id = int.Parse(idStr);
    query = query.Where(t => t.idCol == id);
}
Run Code Online (Sandbox Code Playgroud)

c# sql entity-framework entity-framework-6

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