问题标签 [function-call]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
655 浏览

objective-c - Objective-C和Cocoa:调用类函数而不进入函数时崩溃

我在 MyUtils 类中有一个类函数(声明和实现)。当我调用此函数时,我的应用程序崩溃了。在调试器中,我在“theFunction”函数的第一个动作上有一个断点。并且永远不会达到这个断点。

这是代码:

控制台说:

如果我更换电话,NSString *item = @"youyou";那么一切都很好。

在调用之前强制保留 aPreviousNSString 不会改变任何内容。你知道发生了什么吗?

0 投票
2 回答
2235 浏览

python - 在 Python 函数中使用大数据结构时的效率

我需要使用大数据结构,更具体地说,是一个大字典来完成查找工作。

一开始我的代码是这样的:

由于我需要多次查找,我开始意识到将它实现为一个函数是一个好主意,比如lookup(info)

那么问题来了,大字典该怎么处理呢?

我应该使用lookup(info, dictionary)将其作为参数传递,还是应该在main()中初始化字典并将其用作全局变量?

第一个似乎更优雅,因为我认为维护全局变量很麻烦。但另一方面,我不确定将大字典传递给函数的效率。它会被多次调用,如果参数传递效率低下,那肯定是一场噩梦。

谢谢。

编辑1:

我只是对以上两种方式做了一个实验:

这是代码片段。lookup1实现参数传递查找,而 lookup2 使用全局数据结构“big_dict”。

这是输出:

lookup1 是8.410885
lookup2 是8.157661
类是4.525721

所以看起来这两种方式几乎是一样的,而且是的,全局变量的方式效率更高一点。

编辑2:

添加了Amber建议的class版本,然后再次测试效率。然后我们可以从结果中看出 Amber 是对的,我们应该使用类版本。

0 投票
1 回答
197 浏览

c++ - 函数调用中的异常安全

调用f()异常安全吗?

换句话说,auto_new()如果这两个函数是内联的,那么在第一个和第二个函数调用的原子性方面有什么区别吗?

0 投票
1 回答
198 浏览

iphone - iPhone - 等待完成异步任务的 beetween 2 代码行

我有两行代码在视图弹出之前执行。这两行正在滚动。由于这 3 个动画,用户看不到很多东西,或者说看不太清楚。

我不想使用回调来处理这个问题。我只需要应用程序等待大约 0.5 秒才能弹出视图,并且在两次滚动调用之间再等待 0.5 秒,让他看到正在发生的事情。

我怎样才能在不停止动画的情况下轻松做到这一点?

我试过(很快)[NSThread sleepForTimeInterval:0.5]; 但它阻止了一切。当然。

0 投票
2 回答
940 浏览

c - 使用保存的 EBP 值识别堆栈中的堆栈帧

我想通过查看堆栈上的原始数据将堆栈划分为堆栈帧。我想通过找到保存的 EBP 指针的“链接列表”来做到这一点。

  1. 我可以假设(标准和常用的)C 编译器(例如 gcc)将始终在函数序言中的函数调用上更新和保存 EBP?

    pushl %ebp
    movl %esp, %ebp

    或者在某些情况下,某些编译器可能会为没有获取任何参数且没有局部变量的函数跳过该部分?

    x86 调用约定和关于函数序言的Wiki 文章对此没有多大帮助。

  2. 仅通过查看原始数据,有没有更好的方法将堆栈划分为堆栈帧?

谢谢!

0 投票
1 回答
53 浏览

apache-flex - 不知道为什么我的程序似乎跳过了一些功能?

嘿,我对我正在处理的一些 Actionscript 有点困惑。对于我的 GUI,我编写了四个用于计算发生时的函数。它们是 showMessage("Loading Text...")、disableButtons()、clearMessage() 和 enableButtons()。他们在整个计划中工作得很好。ShowMessage 显示加载消息,disableButtons 禁用按钮,因此没有人可以单击任何内容,clearMessage 在工作完成时清除加载消息,并且 enableButtons 将它们全部重新打开。

出于某种原因,有一个按钮单击处理程序给我带来了麻烦,我不知道为什么。我已经设置了它,就像其他类似的一样(所有工作),但这个不显示消息或关闭我的按钮。这是我的clickHandler ...

这是 creatRbeAC 函数...

我没有收到任何加载文本,所以我从代码中取出了 clearMessage 和 enableButtons 函数,看看它是否正在添加消息并禁用按钮。我仍然没有得到任何东西。由于在此按钮单击处理程序或 creatRbeAC 函数中找不到 clearMessage 和 enableButtons ,因此即使计算完成,我也无法理解为什么加载消息和按钮未被禁用。

有些事情要注意。如果我注释掉 creatRbeAC 函数,则会显示加载消息并且按钮会禁用。当 creatRbeAC 函数在代码中时,就好像这些函数被忽略了。

有什么帮助吗?我将不胜感激。希望我提供了足够的信息。

0 投票
1 回答
818 浏览

c++ - 如何找到从未调用过的函数

可能重复:
查找从未调用过的函数

你好我知道类似的问题已经被问过查找从未调用的函数 ,但也许有人有其他解决方案?不需要使用外部程序。我正在使用 C++

0 投票
2 回答
953 浏览

c++ - 什么更快:noop 函数调用或 if 语句?

我有一个删除器的函数指针,但大多数时候,删除器是不需要的,只有当我维护某个东西的内部副本时。目前我使用 noop 删除器功能来做到这一点:

0现在显而易见的另一个选择是在不需要时将其设置为,并Cleanup使用if(deleter_ != 0) (*deleter_)(object_).
现在在编码过程中,我突然想到“嗯,哪个版本会更快?”,所以更多的是个人兴趣而不是优化。对不起,如果这个问题听起来有点愚蠢,但它有点困扰我,我真的很想知道。感谢您提前提供任何答案!

0 投票
2 回答
2041 浏览

javascript - JavaScript 函数调用是通过原型还是直接引用更快?

在 JavaScript 中,假设我想从 bObj 内部调用 aObj.myMethod()。在我的应用程序中,从设计的角度来看,aObj 是 bObj 的基类。JavaScript 是一种后期绑定语言,这意味着 myMethod 应该在运行时解析。函数解析是否更快

////////// 如果

1-我很自然地使用我的设计并说 bObj.prototype=aObj 然后在运行时我调用 bObj.myMethod:

////////////////////////或者

2- 通过原型的函数解析可能很慢,所以我将 aObj 作为属性保留在 bObj 中,并从 bObj 内部调用 aObj.myMethod()


我主要关心的是执行速度。在我的应用程序中,myMethod 每秒被调用数百万次。我知道大多数浏览器都会缓存指向最近调用的函数的指针,因此在这两种情况下,函数解析过程都会加快速度。然而,任何人都可以提供有关这两种情况下函数解析机制的更多细节,并提供一些见解,即哪种方法可能更快?解析机制在所有浏览器中都相同还是完全依赖于浏览器?

0 投票
3 回答
766 浏览

c++ - 我无法使用删除功能从列表中删除项目

当我添加一个人时,它会正确添加,但是当我去删除名称时,它说找不到该名称。该程序允许用户创建电话簿并编辑电话簿中的信息

上述程序的头文件

这是允许用户操作电话簿的类。