问题列表 - 第44155页

STL for_each抱怨参数列表

作为家庭作业的一部分,我们应该映射地图中每个角色的出现.我们的函数应该使用std :: for_each并传入要计算的字符.

我的功能是:

std::for_each(document_.begin(), 
              document_.end(), 
              std::mem_fun(&CharStatistics::fillMap));
Run Code Online (Sandbox Code Playgroud)

document_是一个string,并且fillMap函数定义为

void CharStatistics::fillMap(char ch)
{
    ch = tolower(ch);
    ++chars_.find(ch)->second;
}
Run Code Online (Sandbox Code Playgroud)

chars_被宣布为std::map<char, unsigned int> chars_;.

我认为这应该有效,但编译器抱怨

error C2064: term does not evaluate to a function taking 1 arguments
Run Code Online (Sandbox Code Playgroud)

这让我感到困惑,因为当我查看参数列表时

_Fn1=std::mem_fun1_t<void,CharStatistics,char>,
1>            _Elem=char,
1>            _Traits=std::char_traits<char>,
1>            _Alloc=std::allocator<char>,
1>            _Result=void,
1>            _Ty=CharStatistics,
1>            _Arg=char,
1>            _InIt=std::_String_iterator<char,std::char_traits<char>,std::allocator<char>>
Run Code Online (Sandbox Code Playgroud)

它对我来说很好看._Elem是一个char,我的函数接受一个char.迭代器只不过是一个char *

我究竟做错了什么?

c++ stl mem-fun

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

单击后更改元素的文本或HTML

我想span点击更改元素的文字:

$('.int-bank h2 span').text('Open List');
$('.int-bank h2').bind("click", function (e) {
    $(this).next("p").toggleClass("lblock");
    var spn = $(this).find("span");
    spn.text('Close List');
});
Run Code Online (Sandbox Code Playgroud)

但在第二次单击时,span的文本不会更改为"Open List".我怎样才能做到这一点?

jquery

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

计算集合中的多个匹配项

if group not in g:
    g[group] = set()
g[group].add(name)
Run Code Online (Sandbox Code Playgroud)

浏览具有以下结构的组列表:

Group: A
Name: Bob
Run Code Online (Sandbox Code Playgroud)

并将属于特定组的人员的姓名添加到集合中.集合中的名称是唯一的,我们不知道组中有多少相似的名称.因此,例如,如果有两个'Bob'名称或5'Mike'名称,我如何计算名称的多次出现以及具有以下内容:

Group A: Bob 2, Mike 5
Group B: Jane 4
Run Code Online (Sandbox Code Playgroud)

等等.提前致谢.

python

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

你能在<option>元素中有多行吗?

有没有办法在元素中有多行<option>

像这样:

 -------------------------
| Normal <option> element |
 -------------------------
| <option> element broken |
| onto two lines          |
 -------------------------
| Normal <option> element |
 -------------------------
Run Code Online (Sandbox Code Playgroud)

有没有HTML/CSS方法,还是我应该使用JavaScript?

html javascript css jquery html-select

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

使用NSString对象管理内存

这是我的主要方法:

int main (int argc, const char * argv[]) {  
    NSString *string=[[NSString alloc]init];  
    NSLog(@"%@   The retain count is:%d", string, [string retainCount]);  
    NSLog(@"Hello, World!");  
    return 0;  
}    
Run Code Online (Sandbox Code Playgroud)

执行这段代码时的输出是"保留计数为:-1".
我期待它给我1作为保留计数,因为我使用alloc创建了对象.当我尝试保留或释放NSString对象时,我遇到类似的问题.

当我尝试使用NSArray时,我在创建对象后立即得到保留计数为2.我不明白对象如何被处理的机制.请解释!提前致谢..

cocoa objective-c

0
推荐指数
2
解决办法
436
查看次数

在NHibernate查询中根据不同的表设置值

我正在使用NHibernate,并且对此查询有问题...我有一个类项目,我想使用其Id获取.一切都很好.但是,如果设置了其他条件,我还希望将Item类中的bool属性设置为true.具体来说,此属性名为IsMarked,告知是否为请求它的用户标记/标记/标记了该项,并且此信息在表上设置,给出了Item和User之间的关系.

目前我正在获取Item,然后查找引用 - 如果可以找到引用,则将属性更新为true.我可以在一个查询中执行此操作吗?

var item = Session.Get<Item>(itemId);

var flaggedResult = Session.CreateCriteria<ItemWithUserFlag>()
    .Add(Restrictions.Eq("User.Id", userId))
    .Add(Restrictions.Eq("Item", item))
    .List<ItemWithUserFlag>();

if (flaggedResult.Count > 0)
    item.IsMarked = true; 

return item; 
Run Code Online (Sandbox Code Playgroud)

.net c# nhibernate fluent-nhibernate

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

PHP中的"和"与"&&"运算符有什么区别吗?

我有以下的代码,并且不认为需要,即&&应该使用,因为没有什么左边部分分配给?

if($_REQUEST['foo'] != 'abc' and $_REQUEST['bar'] == 'def')
{
    echo "all your base";
}
Run Code Online (Sandbox Code Playgroud)

所以它应该是:

if($_REQUEST['foo'] != 'abc' && $_REQUEST['bar'] == 'def')
{
    echo "all your base";
}
Run Code Online (Sandbox Code Playgroud)

php

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

从Hold'd表达式中提取事物的Diciness

假设我有一个param-> value规则列表,其中params是可能赋值给它们的符号.例如:

{a, b, c} = {1, 2, 3};
x = Hold[{a->1, b->2, c->3}];
Run Code Online (Sandbox Code Playgroud)

我需要包含在Hold中的列表,否则它将评估为{1-> 1,2-> 2,3-> 3}.(如果能让其余部分变得更容易的话,我愿意接受任何替代方案.)

现在假设我想将x转换为:

{"a"->1, "b"->2, "c"->3}
Run Code Online (Sandbox Code Playgroud)

以下函数将执行此操作:

f[h_] := Block[{a,b,c}, ToString[#[[1]]]->#[[2]]& /@ ReleaseHold@h]
Run Code Online (Sandbox Code Playgroud)

我的问题:你能写一个f的版本,其中符号列表{a,b,c}不必明确提供吗?

wolfram-mathematica

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

尝试 - 赶上回归策略

try-catch在方法中使用时,如果您希望应用程序即使出现错误也能继续,是否可以通过catch块返回默认值作为return,并记录错误以供日后查看?

例如:

public static string GetNameById(int id)
{
    string name;
    try
    {
        //Connect to Db and get name - some error occured
    }
    catch(Exception ex)
    {
        Log(ex);
        name = String.Empty;
    }

    return name;
}
Run Code Online (Sandbox Code Playgroud)

例2:

public static string GetIdByName(string name)
{
    int id;
    try
    {
        //Connect to Db and get id- some error occured
    }
    catch(Exception ex)
    {
        Log(ex);
        id = 0;
    }

    return id;
}
Run Code Online (Sandbox Code Playgroud)

是否可以返回任何默认值(取决于方法的返回类型...... ???),以便需要此方法的结果的应用程序逻辑不会崩溃并继续...

提前致谢...

问候.

c# asp.net

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

包含许多单元的Delphi项目需要大量运行

我有一个拥有290多个单位的dpr.

编译的exe是50MB.

dpr代码现在是这样的:

begin
  ShowMessage('Before Initialize');
  Application.Initialize;
Run Code Online (Sandbox Code Playgroud)

当我双击构建的exe时,我注意到8秒后才看到"Before Initialize"之前.这是因为大的exe大小?或者有没有办法减少这个时间?

delphi performance

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