我目前正在研究如何编写高效的C ++代码,在函数调用的问题上,我想到一个问题。 比较这个伪码function: not-void function-name () { do-something return value; } int main () { … arg = function-name(); … } 与这个否则相同的伪码function: void function-name (not-void& arg) { do-something arg = value; } int main () { … function-name(arg); … } 哪个版本更有效率,哪些方面(时间,内存等)? 如果取决于,那么第一个什么时候会更有效率,第二个什么时候更有效率? 编辑 :对于上下文来说,这个问题仅限于硬件平台无关的差异,对于大多数软件来说也是如此。 有没有机器独立的性能差异? 编辑 :我不明白这是如何重复。 另一个问题是比较通过引用(prev代码)传递的价值(下): not-void function-name (not-void arg) 这和我的问题不一样。 我的注意力不在于哪一种更好的方法将parameter passing给函数。 […]
我有一个枚举,看起来像 public enum Animal { ELEPHANT, GIRAFFE, TURTLE, SNAKE, FROG } 我想要做类似的事情 Animal frog = Animal.FROG; Animal snake = Animal.SNAKE; boolean isFrogAmphibian = frog.isAmphibian(); //true boolean isSnakeAmphibian = snake.isAmphibian(); //false boolean isFrogReptile = frog.isReptile(); //false boolean isSnakeReptile = snake.isReptile(); //true boolean isFrogMammal = frog.isMammal(); //false boolean isSnakeMammal = snake.isMammal(); //false 我简化了这个例子的教学目的,但是这对我真正有用的例子是非常有用的。 我可以在Java中执行吗?
很多文献谈到使用内联函数来“避免函数调用的开销”。 但是我还没有看到可以量化的数据。 函数调用的实际开销是多less?通过内联函数,我们达到了什么样的性能提升?
我正在创build一个具有Action列的循环的HTML。 该列是一个超链接,当用户点击调用JavaScript函数并传递参数… 例: <a href="#" OnClick="DoAction(1,'Jose');" > Click </a> <a href="#" OnClick="DoAction(2,'Juan');" > Click </a> <a href="#" OnClick="DoAction(3,'Pedro');" > Click </a> … <a href="#" OnClick="DoAction(n,'xxx');" > Click </a> 我想要这个函数用正确的参数调用一个Ajax jQuery函数。 任何帮助?
你怎么能有一个函数或什么东西,将在程序退出之前执行? 我有一个将在后台不断运行的脚本,我需要它在退出之前将一些数据保存到文件中。 有没有这样做的标准方式?
没有完全定义它,是否可以调用一个函数? 当尝试这个时,我得到错误:“ function_name未定义”。 我来自C ++的背景,所以这个问题困扰着我。 在作品之前声明该function: def Kerma(): return "energy / mass" print Kerma() 但是,试图调用该函数而没有先定义它会带来麻烦: print Kerma() def Kerma(): return "energy / mass" 在C ++中,你可以在调用之后声明一个函数。 我在这里错过了什么?
我确信有一百万篇关于这方面的文章,但令人惊讶的是我很难find一些东西。 我有一个简单的脚本,我想为页面初始化时的<A>链接设置onClick处理程序。 当我运行这个,我立即得到一个'富'警报框,我希望只有当我点击链接时得到一个警报。 我做错了什么愚蠢的事情? (我试过点击=和onClick =)… <script language="javascript"> function init(){ document.getElementById("foo").click = new function() { alert('foo'); }; } </script> <body onload="init()"> <a id="foo" href=#>Click to run foo</a> </body> 编辑:我改变了我接受的答案jQuery的答案。 ' MárÖrlygsson '的答案在技术上是我原来的问题的正确答案( click应该是onclick和new应该被删除),但我强烈劝阻任何人在他们的代码中直接使用“document.getElementById(…)改用jQuery 。
这段代码产生56的结果。 function x ($y) { function y ($z) { return ($z*2); } return($y+3); } $y = 4; $y = x($y)*y($y); echo $y; 任何想法是什么在里面? 我很困惑。
我有一个Python函数,它需要几个参数。 在某些情况下,其中一些论点可能会被忽略。 def some_function (self, a, b, c, d = None, e = None, f = None, g = None, h = None): #code 参数d到h是各自具有不同含义的string。 我可以select哪个可选参数以任意组合进行传递是非常重要的。 例如, (a, b, C, d, e)或(a, b, C, g, h)或(a, b, C, d, e, f或全部select)。 如果我可以重载函数,那将是非常好的 – 但是我读到Python不支持重载。 我试图在列表中插入一些所需的int参数 – 并得到一个参数不匹配的错误。 现在我发送空string作为占位符,而不是前几个缺less的参数。 我希望能够使用实际值来调用一个函数。 有没有办法做到这一点? 我可以传递一个列表而不是参数列表吗? 现在使用ctypes的原型如下所示: _fdll.some_function.argtypes = [c_void_p, […]
我一直困惑于我看到的大多数C程序有我不熟悉的函数声明。 void *func_name(void *param){ … } *暗示的function是什么? 我对variablestypes( * )的理解是,它创build了一个指向另一个variables的指针,因此它能够跟踪后面variables存储在内存中的地址。 但是在这个函数的情况下,我不知道这个*星号意味着什么。