问题列表 - 第30594页

如果没有相等运算符,STL map :: find函数如何工作?

在引擎盖下,STL映射是一个红黑树,它使用其键的<运算符或用户提供的比较来计算元素插入的位置.

map :: find()返回与提供的键匹配的元素(如果存在任何匹配)

如果不使用相等运算符,它怎么能这样做呢?假设我的地图中包含密钥1,2,3和4.仅使用<,我可以看到键2应该在1之后,2之后和3之前.但我不知道2是否与2相同.

我甚至可以在/usr/include/c++/4.4.3/bits/stl_tree.h中看到find()只使用用户提供的比较函数:

template<typename _Key, typename _Val, typename _KeyOfValue,
       typename _Compare, typename _Alloc>
typename _Rb_tree<_Key, _Val, _KeyOfValue,
          _Compare, _Alloc>::iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
find(const _Key& __k)
{
  iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k);
  return (__j == end()
      || _M_impl._M_key_compare(__k,
                _S_key(__j._M_node))) ? end() : __j;
}
Run Code Online (Sandbox Code Playgroud)

隐秘.如果你可以告诉我如何在_M_impl._M_key_compare没有明显循环的情况下最终使用比较函数,那么奖励积分.

stl map find

16
推荐指数
2
解决办法
6162
查看次数

Eclipse和其他Java IDE用于调试并发代码

我目前正在研究一些似乎有一些竞争条件的并发代码.我正在尝试使用我当前的IDE Eclipse调试代码,但我并不完全满意.特别是,对于变量存在竞争条件,使得在访问它的方法之一上没有断点("获取它"),变量设置方法不完成,并且变量被设置为空.但是,如果我在访问方法上设置了一个断点,并按住F8 - 默认的跨越按钮 - 变量几乎总是设置为正确的(非空)值.

这让我想问以下问题:Eclipse是否有可能不会在所有线程上的断点上暂停执行,以至于我可以看到潜在的竞争条件,因为它看起来没有断点,或者是其他东西(可能)发生了什么?

如果Eclipse没有快速暂停执行,那么是否有其他适用于Java的IDE /调试器可以做得更好?请注意,我不是在寻找像Java Pathfinder这样的正式验证工具 - 我不想检查竞争条件是否存在,我想在我的调试器中看到它们展开(如果只是因为它可能有趣的话).

java eclipse ide debugging concurrency

7
推荐指数
2
解决办法
2681
查看次数

查看哪些方法/函数在Visual Studio中返回特定对象

我在Visual Studio中创建一个C#应用程序,我想知道是否有任何方法可以查看返回特定类型的每个方法?

例如,我想知道哪些方法返回"AsymmetricAlgorithm"对象.

c# api visual-studio

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

使用boost multi_index_container来保留插入顺序

我最初开始使用a std::multimap来存储具有相同键的许多值,但后来我发现它不会保留具有相同键的值之间的插入顺序. 这个答案声称它可以完成boost::multi_index::multi_index_container,但没有举例.通过文档查看,没有这种用法的例子,我无法对你应该如何使用这个东西做出正面或反面.我开始期待来自较少使用的boost库的文档很差,但这需要蛋糕.任何人都可以指向一个教程或示例,显示它使用我想要的方式,或者甚至可能自己提供一个示例?

c++ boost multimap multi-index

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

哪里可以找到COM dll?

我写了一个 com 对象的 dll,我注册了它,现在在我的机器中在哪里可以找到这个 dll(当我们将 dll 注册到机器复制 dll 的位置时)

还有更多问题,如果我尝试在 powerShell 中使用这个 com 对象,一切都运行良好,如果我尝试在 javaScript 中使用它,我会得到任何想法吗???为什么??

com

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

Java:"xx".equals(变量)比variable.equals("xx")更好,是吗?

我正在审查一本最佳实践手册和推荐编码java,我认为这是值得怀疑的.

Recomendation:

String variable;

"xx".equals(variable) // OK

variable.equals("xx") //Not recomended
Run Code Online (Sandbox Code Playgroud)

因为防止出现不受控制的NullPointerException

这是真的?

java equals manual

17
推荐指数
2
解决办法
7215
查看次数

使用PyObjC以正常方式打印python异常

我收到这样的错误:

2010-07-13 20:43:15.131 Python [1527:60f] main:抓到OC_PythonException :: LoginMenuSet实例没有属性'play_sound'

这是代码:

@try {
    [section loop]; //Loop through section
} @catch (NSException *exception) {
    NSLog(@"Caught %@: %@", [exception name], [exception reason]);
}
Run Code Online (Sandbox Code Playgroud)

我想通过回溯和其他一切正常打印python异常.

谢谢.

python pyobjc exception-handling exception objective-c

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

如何摆脱丑陋的asp:菜单闪烁?

我正在使用asp:Menu具有无表格渲染模式的ASP.NET 4.0 Webforms页面上的控件:

<asp:Menu ID="MenuBase" runat="server" DataSourceID="SiteMapDataSourceMenu"
    Orientation="Horizontal" CssClass="contentmenu" RenderingMode="List" 
    IncludeStyleBlock="false">
</asp:Menu>
Run Code Online (Sandbox Code Playgroud)

菜单有一个水平主行,有5或6个菜单项,当用户将鼠标悬停在菜单项上时,其中一些菜单项打开垂直弹出菜单.

通常当发生任何回发并且页面再次呈现时,菜单"闪烁"一会儿(例如,半秒),这意味着:所有菜单项 - 包括弹出菜单中的项目 - 以一行或多行显示在他们恢复到正常预期状态之前彼此相互对立.

在所有菜单项"展开"显示的这个短暂时刻,菜单看起来如果在浏览器中禁用了Javascript.(似乎构建弹出菜单是通过在asp:menu控件中使用一些Javascript来实现的.)

这种行为非常难看,特别是对于一个大菜单(渲染短时间超过2或3行),整个页面内容在跳回到正常显示之前向下移动.

你知道这个问题的解决方案吗?

先感谢您!

(备注:我应该提一下,在升级到ASP.NET 4.0之前,我使用了CodePlex中着名的CSS友好菜单控件.我认为我不再需要CSS友好控件,因为asp:菜单版本4现在提供了一个内置的List渲染模式.据我所知,我没有使用CSS友好控件的闪烁,我认为这个控件没有使用Javascript.也许这是一个糟糕的一步.我是现在寻找一个解决方案,如果可能的话,不要回到CSS友好的菜单控件.)

编辑:

这种闪烁与浏览器无关,虽然在IE 8和7中最为明显.在IE 7(或IE 8中的兼容模式)中,它非常难看,因为菜单项以疯狂的对角线模式显示,甚至超过5或6行.

asp.net menu asp.net-4.0 aspmenu-control

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

Bitbucket可靠吗?

我理解这个问题是在stackoverflow可以接受的边缘,但仍然,我觉得值得问.

我几天前开始使用bitbucket.org,受到mercurial hosting,1个免费私人存储库,wiki和问题跟踪器的吸引.正是我的项目所需要的.

我不得不说,提供的功能和网站的界面看起来很棒,到目前为止我没有任何与mercurial相关的问题.然而,在这几天之后,我怀疑我是否应该移动到其他地方,而它仍然很容易(我还没有宣传维基页面等等),因为我经常遇到一些小问题和重大问题:

  • 在这几天里,我注意到很多站点减速和几次超时
  • 我觉得wiki的功能相当有限(显然它基于Creole Wiki,之前从未听说过).它不允许,例如,右对齐图像,无边框表等(也许它确实如此,但文档没有说明)
  • 我注意到了维基中的一些错误(一年前报告了一个TOC代宏问题,但仍未修复)
  • 我已经尝试通过更改"管理"面板中的设置来公开我的wiki,但它不起作用.
  • 一些更多维基的东西[比如插入图片很尴尬,创建新页面不是很明显,内部链接也有问题,...]
  • 当我推送一个多承诺的changset时,新闻源中的排序顺序是错误的
  • 这是非常好的(并且非常勇敢!)他们有一个可公开访问的bitbucket问题跟踪器,但是看到一个包含500多个解决问题的列表(28页*每页20个问题)并没有给人留下他们被照顾的印象他们可以.至少有些问题可能会被转移到一些"不会考虑"的状态.我担心我的私人/公共维基页面的错误报告仍将在一年之内
  • 该博客有很多关于"停机时间"的帖子

现在,我不想对运行bitbucket的人/公司太过刻薄,因为我不清楚它是否实际上是由一个人运行(在这种情况下它确实令人惊讶)或运行良好公司(在这种情况下不是:-).也许他们有一些成长的痛苦......我很难说.

所以,我在这里寻找的,是其他人使用bitbucket的一些经验,以及我是否应该坚持的建议,并等到事情好转(很有可能吗?).或者不是.

hosting mercurial bitbucket

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

Git:我可以在status,diff等中禁止列出'modified content'/ dirty submodule条目吗?

有些人(我认为在1.6.x版本附近)git意识到了子模块内部的变化.那只会让我烦恼:

$ git status vendor | grep modified:
#       modified:   vendor/rails (modified content)
$ git diff vendor/
diff --git a/vendor/rails b/vendor/rails
--- a/vendor/rails
+++ b/vendor/rails
@@ -1 +1 @@
-Subproject commit 046c900df27994d454b7f906caa0e4226bb42b6f
+Subproject commit 046c900df27994d454b7f906caa0e4226bb42b6f-dirty

请停止?

编辑:

好的,我有答案.现在我有另一个问题:

我可以把它放进去~/.gitconfig吗?从我最初看起来我不能,并且我没有看到任何有希望通过略读补丁.(我想我仍然可以做别名.)

git git-config git-submodules

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