问题列表 - 第10601页

在C++中使用rand()函数的正确方法是什么?

我正在做一本书练习,写一个生成伪随机数的程序.我开始简单了.

#include "std_lib_facilities.h"

int randint()
{
    int random = 0;
    random = rand();
    return random;
}

int main()
{
    char input = 0;
    cout << "Press any character and enter to generate a random number." << endl;
    while (cin >> input)
    cout << randint() << endl;
    keep_window_open();
}
Run Code Online (Sandbox Code Playgroud)

我注意到每次运行程序时都会有相同的"随机"输出.所以我调查了随机数生成器并决定尝试播种,首先在randint()中包含它.

    srand(5355);
Run Code Online (Sandbox Code Playgroud)

这只是反复生成相同的数字(我现在感觉很愚蠢.)

所以我认为我会聪明并实现这样的种子.

srand(rand());
Run Code Online (Sandbox Code Playgroud)

这基本上只是与程序在第一时间做的相同,但输出了一组不同的数字(这是有道理的,因为rand()生成的第一个数字总是41.)

我能想到的唯一让它更随机的是:

  1. 让用户输入一个数字并将其设置为种子(这很容易实现,但这是最后的手段)或者
  2. 不知何故将种子设置为计算机时钟或其他一些不断变化的数字.

我是否在我脑海中,我现在应该停下来吗?选项2难以实施吗?还有其他想法吗?

提前致谢.

c++ random

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

如何将字典"转换"为F#中的序列?

如何将字典"转换"为序列,以便按键值排序?

let results = new Dictionary()

results.Add("George", 10)
results.Add("Peter", 5)
results.Add("Jimmy", 9)
results.Add("John", 2)

let ranking = 
  results
  ???????
  |> Seq.Sort ??????
  |> Seq.iter (fun x -> (... some function ...))

f# dictionary sequence key-value

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

如何在XPath中选择布尔值节点?

我有一个XML文档和关联的模式,它将几个属性定义为具有该xs:boolean类型.对于词法值xs:booleantrue,false,1,和0,因此它似乎正确地选择与特定的布尔值属性,我不得不写类似:

@attribute='true' or @attribute='1'
Run Code Online (Sandbox Code Playgroud)

要么

@attribute='false' or @attribute='0'
Run Code Online (Sandbox Code Playgroud)

这看起来很冗长.

你可能期望某些东西boolean(@attribute)可以工作,但是这个boolean函数有不同的语义.

有没有更好的办法?这是架构感知处理器可以帮助的东西吗?

xpath xsd

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

如何监控来自Unix和Sendmail的外发邮件?

我正在运行一个FreeBSD服务器,我收到一条警告,说我的服务器已发送垃圾邮件.我没有把它设置为开放中继,我已经定制了sendmail配置.我想知道是谁发送了什么电子邮件以及他们的用户名,电子邮件主题以及他们发送的邮件总数.我想在日志上运行一个类似于处理Apache服务器日志时的日志的报告.

我有什么选择?

unix email freebsd sendmail

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

一种防止GD映像库耗尽内存的自动防故障方法?(PHP)

有没有办法防止PHP GD图像库耗尽内存?如果上传的图像太大,GD往往会耗尽内存,从而终止脚本.我希望它可以抛出一个可捕获的异常或其他东西,但唉它没有.

现在我正在使用一个拼凑在一起的脚本,首先发布一个ini_set('memory_limit', '128M'),如果有效,我通常都会设置.虽然可能无法实现服务器配置,但我还是试着估算所需的内存量(将分辨率,颜色深度,通道和软糖因素考虑在内),然后将其与memory_get_usage()如果函数存在,否则进行粗略估计.

到目前为止,整个过程是有效的,但它远非优雅,在某些边缘情况下会失败,我敢肯定.有没有更好的方法来做到这一点,即GD必须优雅地失败,而不是将一切都停止?

php memory gd

6
推荐指数
1
解决办法
7556
查看次数

使用where子句中的函数的Oracle性能

在存储过程(具有名为'paramDate'的日期参数)中,我有一个像这样的查询

select id, name
from customer
where period_aded = to_char(paramDate,'mm/yyyy')
Run Code Online (Sandbox Code Playgroud)

Oracle会将paramDate转换为每行的字符串吗?

我确信Oracle不会,但我被告知Oracle会.事实上,我认为如果函数的参数是约束(在查询中没有获得fierld或计算值),结果应该总是相同的,这就是Oracle应该只执行一次此转换的原因.然后我意识到我有时会在几个函数中执行DML语句,这可能会导致结果值发生变化,即使每行都没有变化.

这应该意味着我应该在将这些值添加到查询之前转换它们.

无论如何,也许好的"已知函数"(内置)会被评估一次,甚至我的函数也会被评估.

无论如何,再次......

oracle会执行一次to_char还是Oracle会为每一行执行该操作?

谢谢你的回答

sql oracle performance where-clause

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

将Java代码移植到ObjC时,如何最好地表示已检查的异常?

我工作的一个移植代码库的Java可可/ Objective-C的用于台式机Mac OS X的Java代码中使用了大量的大量的与像checked异常的方法:

double asNumber() throws FooException {
    ...
}
Run Code Online (Sandbox Code Playgroud)

在Objective-C中表示这些的最佳方法是什么?例外或错误输出参数?

- (CGFloat)asNumber { 
    ... // possibly [FooException raise:format:];
}
Run Code Online (Sandbox Code Playgroud)

要么

- (CGFloat)asNumberError:(NSError **)outError {
    ...
}
Run Code Online (Sandbox Code Playgroud)

我觉得out-errors通常是Objective-C的更好解决方案,但正如你所看到的......很多像上面那样的方法看起来很尴尬.而且,还有很多这些.

当然要记住,由于这些是Java 中的检查异常,我需要在调用这些方法的地方添加@try块或if (*outError) {...}检查(很多地方).

我记得听说虽然@try在Objective-C中输入块曾经是昂贵的,但它在64位或SL或其他一些新的环境中是便宜的(不记得确切).我完全不关心向后兼容性,所以我绝对愿意只为新的热度而设计.

java macos cocoa porting objective-c

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

Linux中的JAVA_HOME目录

有没有我可以用来查找JAVA_HOME目录的linux命令?我已经尝试打印出环境变量("env")但我找不到该目录.

java linux directory

61
推荐指数
6
解决办法
25万
查看次数

有必要使用Rails应用程序设置ServerSignature和ServerTokens apache配置选项吗?

我在我的一本铁轨书中看到了我应该设置的东西

ServerSignature Off
ServerTokens Prod 
Run Code Online (Sandbox Code Playgroud)

当应用程序搞砸时,禁止apache在生产中显示服务器信息.这有必要吗?我在prod中看到的唯一错误消息是标准的Rails生成错误消息.我从未看到任何服务器信息.

我需要设置其他与安全相关的apache配置变量吗?

security ruby-on-rails apache-config

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

WebClient.UploadData正确用于发布请求

我想我有点疯狂,当我在我的本地网络服务器上测试它时,它在我去实况网站时工作正常,它返回一个空白字符串而不是我期待的数据

我不熟悉C#,所以我只是想检查一下我做得对.数据只是简单的ascii文本

 wc = new WebClient();
 wc.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
 response = wc.UploadData(this.urlUpdate, Encoding.ASCII.GetBytes("data=" + HttpUtility.UrlEncode(buf.ToString())));

 s = Encoding.ASCII.GetString(response);
Run Code Online (Sandbox Code Playgroud)

c# webclient

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