将指向非const的指针转换成指向const的指针是合法的。 那么为什么把一个指针指向非const的指针转换为指向const的指针是不合法的呢? 例如,为什么下面的代码是非法的: char *s1 = 0; const char *s2 = s1; // OK… char *a[MAX]; // aka char ** const char **ps = a; // error!
你知道一些整洁的Java库吗,让你做两个(或更多)集的笛卡尔积? 例如:我有三套。 一个具有Person类的对象,其次是具有类Gift的对象,另一个具有类GiftExtension的对象。 我想生成一个包含所有可能的三元组Person-Gift-GiftExtension的集合。 集的数量可能会有所不同,所以我不能在嵌套的foreach循环中做到这一点。 在某些情况下,我的应用程序需要制作一个Person-Gift对的产品,有时候它是三倍的Person-Gift-GiftExtension,有时候甚至可能会设置Person-Gift-GiftExtension-GiftSecondExtension-GiftThirdExtension等。
所以,当我回答这个问题时,我正在玩Python,而且我发现这是无效的: o = object() o.attr = 'hello' 由于AttributeError: 'object' object has no attribute 'attr' 。 但是,对于从对象inheritance的任何类,它是有效的: class Sub(object): pass s = Sub() s.attr = 'hello' 按预期打印s.attr显示“hello”。 这是为什么? Python语言规范中的哪些内容指定您不能将属性分配给vanilla对象?
我有一个新的Angular 2应用程序与input框列表。 当用户点击返回键时,我在他们正在编辑的那个之后立即添加一个新的input框。 或者说,我(asynchronous)向模型中的数组添加一个新条目,这将导致Angular 2在不久的将来自动生成一个新的input框。 我怎样才能使input焦点自动改变到新添加的元素? 或者,我得到一个引起DOM生成的模型对象的引用。 从组件代码中,有没有一种方法来search代表特定模型对象的DOM元素? 这是我的代码,只是使这个工作。 希望这对于一些Angular 2开发者来说足够让人反感:-) app.WordComponent = ng.core .Component({ selector: 'word-editor', template:'<input type="text" [value]="word.word" (input)="word.update($event.target.value)" (keydown)="keydown($event)"/>', styles:[ '' ], properties:[ 'list:list', 'word:word' ] }) .Class({ constructor:[ function() { } ], keydown:function(e) { if(e.which == 13) { var ul = e.target.parentNode.parentNode.parentNode; var childCount = ul.childNodes.length; this.list.addWord("").then(function(word) { var interval = […]
我正在寻找一种方法来自动将VBA文本框中的date格式化为MM / DD / YYYY格式,并且我希望格式化为用户input的格式。例如,一旦用户input第二个号码,程序会自动input“/”。 现在,我用下面的代码得到了这个工作(以及第二个短划线): Private Sub txtBoxBDayHim_Change() If txtBoxBDayHim.TextLength = 2 or txtBoxBDayHim.TextLength = 5 then txtBoxBDayHim.Text = txtBoxBDayHim.Text + "/" End Sub 现在,这在打字时效果很好。 然而,当试图删除时,它仍然input破折号,所以用户不可能删除过去的一个破折号(删除破折号导致长度为2或5,然后再次运行该子,join另一个破折号)。 任何build议更好的方式来做到这一点?
我正在继续在我简单的graphics程序(使用C#)中编程某种键盘导航。 我又一次遇到了麻烦。 我的问题是,我想处理键盘input移动一层。 用鼠标移动图层已经工作得很好,但是控件没有得到焦点( KeyUp / KeyDown / KeyPress和GotFocus / LostFocus都没有为这个控件触发 )。 由于我的类派生自面板(并覆盖了几个事件),我也覆盖了上面提到的事件,但我无法成功地触发这些事件。 我想我可以设法使用Keyboard.GetState()或ProcessCmdWnd之类的东西来实现键盘响应。 但是:我仍然必须能够知道控制何时得到了重点。 有没有或多或less的优雅的方式来添加此function的用户控件(这是基于面板)? 我在这里检查了很multithreading,我可能会使用这种方法来进行键盘input。 焦点问题仍然存在。 提前感谢您的信息! 伊戈尔。 PS:我使用VS2008在C#.NET v3.5中进行编程。 这是一个Windows.Forms应用程序, 而不是WPF 。
我看到很多关于这个的问题,并试图解决这个问题,但经过一个小时的谷歌search和大量的试验和错误,我仍然无法修复。 我希望你们中的一些人能够解决问题。 这是我得到的: java.lang.IllegalArgumentException: Comparison method violates its general contract! at java.util.ComparableTimSort.mergeHi(ComparableTimSort.java:835) at java.util.ComparableTimSort.mergeAt(ComparableTimSort.java:453) at java.util.ComparableTimSort.mergeForceCollapse(ComparableTimSort.java:392) at java.util.ComparableTimSort.sort(ComparableTimSort.java:191) at java.util.ComparableTimSort.sort(ComparableTimSort.java:146) at java.util.Arrays.sort(Arrays.java:472) at java.util.Collections.sort(Collections.java:155) … 这是我的比较: @Override public int compareTo(Object o) { if(this == o){ return 0; } CollectionItem item = (CollectionItem) o; Card card1 = CardCache.getInstance().getCard(cardId); Card card2 = CardCache.getInstance().getCard(item.getCardId()); if (card1.getSet() < card2.getSet()) […]
到底什么是在后台,使SQLParameter可以防止在.NET参数化查询中的SQL Inection攻击? 它只是剥离任何可疑的字符或有什么更多的呢? 有没有人在那里检查,当你通过恶意input实际到达SQL Server? 相关: 你可以在SQL FROM语句中使用SQLParameter吗?
我需要在MySQL中实现以下查询。 (select * from emovis_reporting where (id=3 and cut_name= '全プロセス' and cut_name='恐慌') ) intersect ( select * from emovis_reporting where (id=3) and ( cut_name='全プロセス' or cut_name='恐慌') ) 我知道相交不在MySQL中。 所以我需要另一种方式。 请指导我
我期望这一行的JavaScript: "foo bar baz".match(/^(\s*\w+)+$/) 返回像这样的东西: ["foo bar baz", "foo", " bar", " baz"] 但是它只返回最后捕获的匹配项: ["foo bar baz", " baz"] 有没有办法让所有被捕的比赛?