问题列表 - 第26837页

将mem_fun_ref与boost :: shared_ptr一起使用

按照这个页面的建议,我试图让shared_ptr调用IUnknown :: Release()而不是delete:

IDirectDrawSurface* dds;
... //Allocate dds
return shared_ptr<IDirectDrawSurface>(dds, mem_fun_ref(&IUnknown::Release));
Run Code Online (Sandbox Code Playgroud)

错误C2784:'std :: const_mem_fun1_ref_t <_Result,_Ty,_Arg> std :: mem_fun_ref(_Result(__ thishisall _Ty ::*)(_ Arg)const)':无法推断'_Result的模板参数(__thiscall _Ty ::*) (_Arg)const'from'ULONG(__ cdecl IUnknown ::*)(void)'

错误C2784:'std :: const_mem_fun_ref_t <_Result,_Ty> std :: mem_fun_ref(_Result(__ thishisall_Ty ::*)(void)const)':无法推断'_Result的模板参数(__thiscall _Ty ::*)(void )'''来自'ULONG(__ cdecl IUnknown ::*)(void)'

错误C2784:'std :: mem_fun1_ref_t <_Result,_Ty,_Arg> std :: mem_fun_ref(_Result(__ thiscall _Ty ::*)(_ Arg))':无法推断出'_Result(__thiscall _Ty ::*)的模板参数( _Arg)'from'ULONG(__ cdecl IUnknown ::*)(void)'

错误C2784:'std :: mem_fun_ref_t <_Result,_Ty> std :: mem_fun_ref(_Result(__ thishisall _Ty ::*)(void))':无法推断'_Result的模板参数(__thiscall _Ty ::*)(void) 'from'ULONG(__ cdecl IUnknown ::*)(void)' …

c++ directx boost shared-ptr

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

嵌套空值检查C#的简写

据我所知,没有一个显著写以下更优雅的方式....

string src;
if((ParentContent!= null)
    &&(ParentContent.Image("thumbnail") != null)
    &&(ParentContent.Image("thumbnail").Property("src") != null))
    src = ParentContent.Image("thumbnail").Property("src").Value
Run Code Online (Sandbox Code Playgroud)

你认为应该有一个C#语言功能来缩短它吗?
如果是这样,它应该是什么样的?
例如,像延伸?? 操作者

string src = ParentContent??.Image("thumbnail")??.Property("src")??.Value;
Run Code Online (Sandbox Code Playgroud)

为相当人为的例子和我过度简化的解决方案道歉.

编辑...许多年后
这是一个计划的语言功能,称为" 空传播运算符 " ?. https://roslyn.codeplex.com/discussions/540883(谢谢@Brian)

c# language-features

21
推荐指数
3
解决办法
3987
查看次数

更快地从Map中找出给定值的关键字?

我想从HashMap中找出给定值的关键,目前我必须通过所有键并在地图中检查它的值,有更快的方法吗?

java map

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

是否有可通过Intranet部署的开源/免费站点分析解决方案?

Internet部署的软件(例如Google Analytics)有很多统计/分析提供商,但我正在寻找一种集成到基于LAN/Intranet的Web应用程序的分析工具.

我知道AWStats,但我更喜欢具有类似于Google Analytics的设计的东西,其中Javascript回调可以嵌入到应用程序中并回调给分析服务器.这不需要任何类型的额外应用程序服务器配置和运行访问权限.

我认为没有什么不是专有/付费的,但我很想被告知我错了!

analytics open-source intranet web-statistics web-analytics

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

SVN归因插件?

我正在将SVN与Google Code Project Hosting一起用于学校项目.随着代码库大小的增加,我经常发现自己想知道如下问题:

  • "谁最初检查过这行代码?"
  • "谁最近一直在检查最多的代码?"
  • "在最终产品中,有多少是由人X编写的?"
  • "哪个编码器最擅长遵守编码惯例?"

有没有可用的插件?(如果没有,我会有兴趣自己开发一个.关于从哪里开始的任何想法?)

我们将Visual Studio 2008与AnkhSVN插件一起使用.

svn code-analysis

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

使用jquery来防止重新提交表单

我使用jquery的.submit()来拦截用户的提交事件,但是我发现了一个问题.

当用户单击提交按钮时,表单正常提交,但如果用户故意多次快速单击,则会多次提交,这将导致数据库中的重复数据.

这种问题的解决方案是什么?

更新:嗯,我看到一些建议说禁用提交按钮.这应该可以防止多次提交表单,但问题是我的页面中的表单元素没有刷新,如果我禁用它,用户将无法再提交它,禁用15秒可能会有效,但是这是解决这个问题的正确方法吗?

html jquery form-submit

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

两个单独的指针可以引用相同的地址吗?如果是这样,我可以使用任一指针更改该地址的值吗?

因此,我有以下代码片段:

int * iPtr ;
int * jPtr ;
int i = 5, k = 7;
iPtr = &i;
jPtr = iPtr ;
Run Code Online (Sandbox Code Playgroud)

我刚刚开始学习有关指针的知识,需要清除一些疑问。

  1. jPtr现在本质上也指向i吗?
  2. 我知道可以使用* iPtr更改i的值,但是如何更改jPtr指向的对象的值?
  3. 更改jPtr指向的对象将如何影响iPtr和i指向的对象的值?

c++ pointers reference

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

Ruby中的闭包和for循环

我是Ruby的新手,一些关闭逻辑让我很困惑.考虑以下代码:

array = []
for i in (1..5)
  array << lambda {i}
end
array.map{|f| f.call} # => [5, 5, 5, 5, 5]
Run Code Online (Sandbox Code Playgroud)

这对我来说很有意义,因为我被绑定在循环之外,因此每次循环都会捕获相同的变量.我也觉得使用每个块可以解决这个问题:

array = []
(1..5).each{|i|  array << lambda {i}}
array.map{|f| f.call} # => [1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)

...因为我现在每次都被单独宣布.但现在我迷路了:为什么我不能通过引入一个中间变量来修复它?

array = []
for i in 1..5
  j = i
  array << lambda {j}
end
array.map{|f| f.call} # => [5, 5, 5, 5, 5]
Run Code Online (Sandbox Code Playgroud)

因为j每次循环都是新的,我认为每次传递都会捕获一个不同的变量.例如,这绝对是C#的工作原理,以及我认为 - Lisp的行为与let有关.但在Ruby中并没有那么多.真的发生了什么?

编辑:查看答案中的评论; 问题似乎是j仍然在循环之外的范围内.循环中的范围如何真正起作用?

编辑:我想我还是不明白; if循环不创建新范围,为什么:

for i in 1..5
  puts j if i …
Run Code Online (Sandbox Code Playgroud)

ruby closures

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

Java:非静态嵌套类和instance.super()

我很难在Java中围绕非静态嵌套类.请考虑以下示例,其中打印"内部",然后打印"子".

class Outer {
    class Inner {
        Inner() { System.out.println("Inner"); }
    }
}

public class Child extends Outer.Inner {
    Child(Outer o) {
        o.super();
        System.out.println("Child");
    }
    public static void main(String args[]) {
        new Child(new Outer());
    }
}
Run Code Online (Sandbox Code Playgroud)

我理解Inner的实例总是必须与外部实例相关联,并且这也适用于Child,因为它扩展了Inner.我的问题是o.super()语法的含义 - 为什么它会调用Inner构造函数?

我只看到一个普通的super(args)用于调用超类构造函数并super.method()调用重写方法的超类版本,但从来没有形式的东西instance.super().

java inner-classes

17
推荐指数
3
解决办法
4125
查看次数

如何确定Facebook是否正在访问我的页面?

如果Facebook正在抓取一个页面,有谁知道如何签入ASP.NET(C#)?我希望能够在服务器端检查点击该页面的"浏览器"是否实际上是Facebook(例如,当用户尝试共享链接时它会抓取详细信息).

asp.net facebook

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