问题列表 - 第4727页

如何告诉编译器不要创建临时对象?

我正在更改一个过去采用整数参数的旧例程,以便它现在采用对象的const引用.我希望编译器能告诉我调用函数的位置(因为参数类型错误),但是对象有一个构造函数,它接受一个整数,所以编译器创建一个临时对象,而不是失败,传递给它整数,并将对它的引用传递给例程.示例代码:

class thing {
  public:
    thing( int x ) {
        printf( "Creating a thing(%d)\n", x );
    }
};

class X {
  public:
    X( const thing &t ) {
        printf( "Creating an X from a thing\n" );
    }
};


int main( int, char ** ) {
    thing a_thing( 5 );
    X an_x( 6 );
    return 1;
}
Run Code Online (Sandbox Code Playgroud)

我希望该X an_x( 6 )不能编译,因为没有X构造函数需要int.但它确实编译,输出如下:

Creating a thing(5)
Creating a thing(6)
Creating an X from a thing …
Run Code Online (Sandbox Code Playgroud)

c++ oop

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

ENTER按键上的DropDownList回发未触发服务器端事件

问候!

我有一个简单的导航菜单,其中包含一个asp:DropDownList和一个asp:Button。用户从下拉菜单中选择一个项目,然后单击按钮以转到新的URL。我希望能够在用户选择下拉列表项时按ENTER键时提供支持,以便复制用户的行为,就像单击按钮一样。

到目前为止,这是我所拥有的:

<asp:DropDownList ID="ddlMenu"
                  runat="server"
                  onkeypress="if ((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13)) {__doPostBack('GoButton',''); return false;}" />

<asp:Button ID="btnGoButton" runat="server" onclick="GoButton_Click"/>
Run Code Online (Sandbox Code Playgroud)

该按钮的点击代码为:

protected void GoButton_Click(object sender, EventArgs e)
{
    string l_url = ddlMenu.SelectedItem.Value;
    Response.Redirect(l_url);
}
Run Code Online (Sandbox Code Playgroud)

但是,每次我按ENTER键时,页面都会回发,但是按钮的客户端事件处理程序不会触发。我想念什么吗?

c# asp.net postback

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

将SHA1和RSA与java.security.Signature与MessageDigest和Cipher一起使用

我试图了解Java java.security.Signature类的功能.如果我计算SHA1消息摘要,然后使用RSA加密该摘要,我得到一个不同的结果,要求Signature类签署相同的东西:

// Generate new key
KeyPair keyPair = KeyPairGenerator.getInstance("RSA").generateKeyPair();
PrivateKey privateKey = keyPair.getPrivate();
String plaintext = "This is the message being signed";

// Compute signature
Signature instance = Signature.getInstance("SHA1withRSA");
instance.initSign(privateKey);
instance.update((plaintext).getBytes());
byte[] signature = instance.sign();

// Compute digest
MessageDigest sha1 = MessageDigest.getInstance("SHA1");
byte[] digest = sha1.digest((plaintext).getBytes());

// Encrypt digest
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE, privateKey);
byte[] cipherText = cipher.doFinal(digest);

// Display results
System.out.println("Input data: " + plaintext);
System.out.println("Digest: " + bytes2String(digest));
System.out.println("Cipher text: " + bytes2String(cipherText)); …
Run Code Online (Sandbox Code Playgroud)

java encryption cryptography rsa digital-signature

67
推荐指数
3
解决办法
10万
查看次数

Objective-C Singleton实例作为静态?

在他们关于Singleton示例的Apple文档中,我确实知道有一种方法可以对猫进行换肤 - 但为什么他们还要确保将实例注册为静态?

取自:http://developer.apple.com/documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaObjects/chapter_3_section_10.html

我指的是:

static MyGizmoClass*sharedGizmoManager = nil;

c singleton design-patterns objective-c

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

优秀Java桌面应用程序的示例

更多的wiki列表/集合,我正在寻找一个好的Java桌面应用程序列表.我在下面添加了几个开始.如果知道的话,请列出正在使用的框架/小部件工具包.

java desktop-application

29
推荐指数
18
解决办法
5万
查看次数

你在复杂的构建过程中使用了什么?

我正在尝试改进我们的构建过程,这是一个巨大的Ant build.xml,它调用其他ant构建文件并执行几个Java类来执行更复杂的逻辑,这些逻辑在Ant中是不可能/可怕的.

背景:

  • Java和Ant的经验,一些Groovy
  • Windows平台

目标:

  • 作为命令行cron和servlet发布时的组合运行
  • 尽可能简化,最少的语言和技术之间的弹跳

我需要像Java这样的语言提供更高级别的逻辑能力,而Ant非常简单,我们使用过滤来覆盖不同客户端的默认属性文件.大多数情况下,我想知道人们使用的是Ant/Java以外的东西.

java ant build-process

11
推荐指数
2
解决办法
4038
查看次数

有没有从 PHP 脚本调用 CGI 脚本的好方法?

我看到 PHP 中有一个virtual()函数可以调用 CGI 脚本,但这是最好的方法吗?我也可以将任何参数传递给该脚本吗?

我看到一些使用file_get_contents()include()并传入 CGI 脚本的 URL 的示例,但这感觉像是黑客攻击。

php apache scripting cgi include

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

"#define new DEBUG_NEW"和"#undef THIS_FILE"等实际上是否必要?

创建新的MFC应用程序时,向导会在几乎每个CPP文件中创建以下代码块:

#ifdef _DEBUG
#define new DEBUG_NEW
#endif
Run Code Online (Sandbox Code Playgroud)

有时候它也增加了这个:

#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
Run Code Online (Sandbox Code Playgroud)

如果它是多余的,我想从我的CPP文件中删除此代码.我在VS2008上使用带有C++/CLI的MFC应用程序.

从CPP中删除此代码后,我尝试在Debug中运行,它似乎工作正常."新"变量工作正常,没有泄漏,ASSERT对话框显示正确的文件名并跳转到违规行.

任何人都可以告诉我它的作用以及删除它是否安全?

c++ mfc c-preprocessor

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

C#split string但保留split chars/separator

我正在用三个不同的字符分割字符串,但我希望输出包含我分割的字符.有没有简单的方法来做到这一点?

c# string

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

窗口未最大化时丢失的WM_NCLBUTTONUP消息的奇怪问题

我有一个窗口,我处理WM_NCLBUTTONUP消息,以处理标题栏中自定义按钮的点击.当窗口最大化时,这很有效,但是当窗口最大化时,WM_NCLBUTTONUP消息永远不会到达!我确实收到了WM_NCLBUTTONDOWN消息.奇怪的是WM_NCLBUTTONUP确实到了,如果我点击菜单栏的右边,但是在标题栏/窗口框架的任何地方,消息永远不会到达.

经过一段时间的调试后,我发现如果我在CMainFrame :: OnNcLButtonDown()上设置一个断点,点击标题栏,但按住鼠标按钮,让调试器在函数中断,点击F5继续调试,然后释放鼠标按钮 - 神奇地发送WM_NCLBUTTONUP !!

我的问题是双重的,(1)到底是怎么回事?(2)如何解决这个"问题".

我还注意到,互联网上还有其他几个人也有同样的问题(一个快速的谷歌显示很多其他人有同样的问题,但没有解决方案).

编辑
感谢前两个回复,我尝试在NCLButtonDown中调用ReleaseCapture,但它没有效果(事实上,它返回NULL,表示捕获不到位).我只能假设基类(def window proc)功能可以设置捕获.我将在星期一调查......

c++ winapi mfc

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