问题列表 - 第16573页

malloc()和堆内存

我在以下C代码中得到一个奇怪的结果.

int main()
{
    int *p = (int *) malloc(100);
    p[120] = 5;
    printf("\n %d", p[120]);
}
Run Code Online (Sandbox Code Playgroud)

由于我只分配了100个字节,因此该代码应该导致分段错误.但是,它打印'5'并且不会给出任何运行时错误.有人可以解释原因吗?

c memory

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

查询SSRS数据集中的视图与表

在SSRS中使用数据集时是否有最佳实践?我应该为直接从表中提取的数据集编写查询,还是应该在源数据库中创建视图,然后通过数据集查询视图?

我理解在某些情况下视图会更好(集中视图以便在多个报表中使用)以及某些情况下表格查询会更好(如果您不允许访问在源数据库中创建视图或者如果您在一个报表中使用多个DB数据源).但是有任何性能影响吗?服务器是否仍然可以以与视图中的结果类似的方式缓存来自SSRS的数据集查询的结果?

任何见解将不胜感激:-)

sql sql-server reporting-services

3
推荐指数
2
解决办法
6986
查看次数

用于计算阶乘的快速算法

我发现这个页面描述了许多用于计算阶乘的算法.不幸的是,解释很简洁,我不想逐行筛选源代码来理解算法背后的基本原理.

任何人都能指出我对这些(或其他快速)计算因子的算法的更详细描述吗?

编辑: 此页面描述了素数因子分解的方法,这是所有性能最佳的因子算法共有的技术.它还包含Python中的一些很好的示例代码.作者链接到二进制分裂的描述,并参考了算法杂志("计算因子的复杂性")中的一篇文章,看起来很有希望,如果我只能得到它.

algorithm performance factorial

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

如何在.NET中修剪数组?

说我有一个阵列

array<double>^ buffer = gcnew array<double>(100);
Run Code Online (Sandbox Code Playgroud)

我想要一个像以下一样的功能:

void foo(array<double>^% buffer)
{
    Array::Resize(buffer, 10);
}
Run Code Online (Sandbox Code Playgroud)

但是当你想修剪数组时,它不会分配和/或移动和缓冲[0].

.net vb.net c++-cli visual-c++

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

将签名解释为未签名

我有这样的价值:

int64_t s_val = SOME_SIGNED_VALUE;
Run Code Online (Sandbox Code Playgroud)

我怎么能得到一个

uint64_t u_val
Run Code Online (Sandbox Code Playgroud)

具有完全相同的位模式s_val,但被视为无符号?

这可能非常简单,但在查看Stackoverflow和其他地方后,我没有找到答案.

c++

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

如何在文本框中使用\n

我正在开发一个程序,我正在使用一个字符串(generatedCode)包含一些\n在我正在使用它的textBox中输入换行符(textBox1.Text = generatedCode),但是当我运行程序时,而不是破坏该行我正在看一个正方形.

请记住,我已将MultilinetextBox 的值设置为True.

c# string newline

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

int*array = new int [size]()的有效性;

int * array = new int [size]();
Run Code Online (Sandbox Code Playgroud)

operator()允许将数组的所有值设置为0(所有位都为0).它被称为值初始化.

由于哪个版本的g ++有效?

那么其他编译器呢?

我在哪里可以找到它的标准?

c++ compiler-construction standards g++

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

PHP 5.3 DateTime用于重复发生的事件

我有一个日历应用程序,它使用较新的PHP DateTime类.我有办法处理反复发生的事件,但看起来很糟糕,我想看看你们是否有更好的想法:

  1. 我有一个定期举办的活动,从2009年11月16日开始(2009年11月16日)
  2. 它将每3天发生一次
  3. 该事件将无限期地重演

假设用户查看截止日期为3100的日历 - 此事件应该显示正常情况下每3天重复一次.问题是 - 如何计算该月的那些日子?

=========================================

这就是我基本上这样做的方式,但我知道我更容易丢失一些东西:

  1. 我计算存储为$ daysDiff的月份开始(2009年12月1日)和事件开始日期(2009年11月16日)之间的天数差异
  2. 我减去模数,所以我从一开始就得到3天的因子:$ daysDiff - ($ daysDiff%3)
  3. 为了争论,我们可以说是给了我11月29日3100作为约会.
  4. 然后我反复添加3天到那个日期,直到我在12月31日之前有所有日期

我的主要问题来自第1步.PHP DateInterval :: date_diff函数不计算天数差异.它会给我几年,几个月和几天.然后,我必须捏造这些数字以获得大约在3100年12月左右的估计日期.11/16/2009 +(1090年*365.25天)+(9个月*30.5天)+ 15天

当你像9999年一样走向未来时,这个估计可能会在一个月内消失,然后我必须减去很多3天的间隔才能到达我需要的地方.

php datetime recurring

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

git grep --cached

我误解了怎么git grep --cached foo运作?运行git版本1.6.4.4或1.6.5.2,git grep --cached foo返回完全相同的东西git grep foo.

我认为它会起作用git diff --cached,只搜索临时区域的变化.这肯定是手册让我相信的:

git diff [--options] --cached [<commit>] [--] [<path>…]
Run Code Online (Sandbox Code Playgroud)

此表单用于查看您为下次提交相对于命名而进行的更改<commit>.通常,您希望与最新提交进行比较,因此如果您不提供<commit>,则默认为HEAD.如果HEAD不存在(例如,未出生的分支)并且<commit>未给出,则显示所有阶段性变化.--staged是一个同义词--cached.

这只是一个错误,还是有一种替代的/更好的方法来查找提交foo的更改?

git diff --cached | grep foo
Run Code Online (Sandbox Code Playgroud)

上面的命令给了我想要的一半,但它丢失了更改出现在哪个文件的上下文.

UPDATE

对于--cached正在查看的内容,我似乎有一个概念错误.假设应用了暂存区域,它看起来正在搜索树的状态.这是有道理的,现在我考虑一下.我想要搜索的是差异,而不是完整的树.

具体来说,我想知道我将要提交的所有文件的列表(我不关心行号或上下文)SpecialLog(...),所以我可以编辑这些文件并删除SpecialLog.所以,是的,我可以git diff --cached在寻呼机中进行搜索SpecialLog,但是对于单个文件中的大量更改,有很多重复项,并且我看到的文件并不明显.

git grep

5
推荐指数
1
解决办法
1167
查看次数

从NHibernate Criteria Query中删除Order

我有一个标准查询,用于显示结果页面.我还需要获得所有项目的总数.而不是有两个查询,一个用于分页结果,一个用于计数(因为除了.AddOrder()之外它们是相同的

public ICriteria StandardQuery {
    get {
        return NHibernateSesssionManager.GetSession.CreateCriteria<Person>.AddOrder("OrderProperty", Order.Desc);
    }

public ICriteria CountQuery {
    get{
        return StandardQuery.SetProjection(Projections.Count("ID"));
    }
Run Code Online (Sandbox Code Playgroud)

显然,带有"Column"dbo.Person.ordercolumn"的CountQuery barf在ORDER BY子句中无效,因为它不包含在聚合函数或GROUP BY子句中."

这是有道理的,所以基本上我想做这样的事情.

public ICriteria CountQuery {
    get{
        return StandardQuery.RemoveOrders().SetProjection(Projections.Count("ID"));
    }
Run Code Online (Sandbox Code Playgroud)

有没有办法做这样的事情?因此,我保存了两个重复查询的"风险",一个用于分页,另一个用于计数.显然,对任一查询的任何更改都需要在另一方面进行镜像,这是我不喜欢的风险.你会怎么做?

nhibernate criteria icriteria

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