小编An̲*_*rew的帖子

从向量中提取子向量的最佳方法?

假设我有一个std::vector(让我们称之为myVec)大小N.构造由元素X到Y的副本组成的新向量的最简单方法是什么,其中0 <= X <= Y <= N-1?例如,myVec [100000]通过myVec [100999]大小的向量150000.

如果使用向量无法有效地完成此操作,是否应该使用另一种STL数据类型?

c++ stl vector range

274
推荐指数
8
解决办法
29万
查看次数

C++相当于StringBuffer/StringBuilder?

是否有C++标准模板库类提供有效的字符串连接功能,类似于C#的StringBuilder或Java的StringBuffer

c++ stl string-concatenation

164
推荐指数
7
解决办法
17万
查看次数

删除void指针是否安全?

假设我有以下代码:

void* my_alloc (size_t size)
{
   return new char [size];
}

void my_free (void* ptr)
{
   delete [] ptr;
}
Run Code Online (Sandbox Code Playgroud)

这样安全吗?或者必须在删除前ptr进行投射char*

c++ memory-management casting void-pointers

88
推荐指数
9
解决办法
5万
查看次数

为图形的Y轴选择有吸引力的线性刻度

我正在编写一些代码来在我们的软件中显示条形图(或线条).一切都很顺利.令我难过的是标记Y轴.

调用者可以告诉我他们想要Y标记的标记有多精细,但我似乎仍然坚持要以"有吸引力"的方式标记它们.我无法描述"有吸引力",也许你也不能,但是当我们看到它时我们就知道了,对吗?

所以如果数据点是:

   15, 234, 140, 65, 90
Run Code Online (Sandbox Code Playgroud)

并且用户在Y轴上要求10个标签,用纸和铅笔进行一点点处理:

  0, 25, 50, 75, 100, 125, 150, 175, 200, 225, 250
Run Code Online (Sandbox Code Playgroud)

那里有10个(不包括0),最后一个延伸超过最高值(234 <250),并且它是一个"好"的增量,每个增加25.如果他们要求8个标签,那么30的增量看起来不错:

  0, 30, 60, 90, 120, 150, 180, 210, 240
Run Code Online (Sandbox Code Playgroud)

九会很棘手.也许只是使用了8或10,并将其称为足够接近就可以了.当一些观点是否定的时候该怎么办?

我可以看到Excel很好地解决了这个问题.

有没有人知道解决这个问题的通用算法(甚至有些蛮力没问题)?我不必快速做,但它应该看起来不错.

algorithm math graph

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

建议初始化srand的方法?

我需要一种'好'的方法来初始化C++中的伪随机数生成器.我发现一篇文章指出:

为了生成类似随机数的数字,srand通常被初始化为一些独特的值,就像那些与执行时间相关的值.例如,函数时间返回的值(在标题ctime中声明)每秒都不同,这对于大多数随机需求来说足够独特.

Unixtime对我的应用来说并不是很有特色.有什么更好的方法来初始化它?奖励点是否可移植,但代码主要在Linux主机上运行.

我正在考虑做一些pid/unixtime数学来得到一个int,或者可能从中读取数据/dev/urandom.

谢谢!

编辑

是的,我实际上是每秒多次启动我的应用程序而且我遇到了碰撞.

c++ random srand

64
推荐指数
8
解决办法
9万
查看次数

从Eclipse中的项目资源管理器视图中删除项目.jars

罐子清单只占用太多空间.我可以将其折叠或隐藏吗?

java eclipse ide jar classpath

64
推荐指数
5
解决办法
3万
查看次数

NULL总是假吗?

假设NULL在C 中始终转换为false 是否安全?

void *somePtr = NULL;

if (!somePtr) {
  /* This will always be executed? */
}
Run Code Online (Sandbox Code Playgroud)

或者应该明确检查价值NULL

c null pointers

62
推荐指数
6
解决办法
4万
查看次数

你最喜欢的Grails调试技巧是什么?

通过长堆栈转储,Grails可能有点像熊一样调试.找到问题的根源可能很棘手.我在BootStrap.groovy中做过几次烧伤,例如"def foo = new Foo(a:a,b:b).save()".您最喜欢调试Grails应用程序的技巧是什么?

debugging grails

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

std :: vector与std :: list与std :: slist的相对表现?

对于一个简单的链表,其中不需要随机访问列表元素,是否有任何显着的优势(性能或其他)使用std::list而不是std::vector?如果需要向后遍历,那么在迭代其元素之前使用std::slistreverse()列表会更有效吗?

c++ performance stl linked-list data-structures

49
推荐指数
3
解决办法
7万
查看次数

用于计算Unix上输出列总和的最短命令?

我确信有一种快速简便的方法来计算Unix系统上的一列值的总和(使用awk或类似的东西xargs),但是编写一个shell脚本来逐行解析行是唯一可行的方法.此刻心灵.

例如,修改下面命令以计算和显示SEGSZ列(70300)总数的最简单方法是什么?

ipcs -mb | head -6
IPC status from /dev/kmem as of Mon Nov 17 08:58:17 2008
T         ID     KEY        MODE        OWNER     GROUP      SEGSZ
Shared Memory:
m          0 0x411c322e --rw-rw-rw-      root      root        348
m          1 0x4e0c0002 --rw-rw-rw-      root      root      61760
m          2 0x412013f5 --rw-rw-rw-      root      root       8192
Run Code Online (Sandbox Code Playgroud)

unix math shell ksh

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