Questions tagged «keyword»

关键字是一种特殊的单词,被一种语言用作标识符。它们是编译器或解释器接受的保留字,因此不应(或不能)用作变量或函数名。

18
在C中“注册”关键字?
register关键字用C语言做什么?我已经读过它用于优化,但是在任何标准中都没有明确定义。它仍然相关,如果有,您什么时候使用它?
272 c  memory  keyword 

11
什么时候应该在C ++中使用new关键字?
我使用C ++已有很短的时间了,而且我一直在想new关键字。简而言之,我应该使用它吗? 1)使用新关键字... MyClass* myClass = new MyClass(); myClass->MyField = "Hello world!"; 2)没有新关键字... MyClass myClass; myClass.MyField = "Hello world!"; 从实现的角度看,它们似乎没有什么不同(但是我敢肯定它们是...)。但是,我的主要语言是C#,当然第一种方法是我习惯的。 困难似乎是方法1与std C ++类一起使用更困难。 我应该使用哪种方法? 更新1: 最近,我将new关键字用于超出范围(即从函数返回)的大型数组的堆内存(或free store)。在使用堆栈之前,该堆栈导致一半的元素在范围之外损坏,切换到堆使用情况可确保元素完好无损。好极了! 更新2: 我的一个朋友最近告诉我,使用new关键字有一个简单的规则;每次键入时new,请键入delete。 Foobar *foobar = new Foobar(); delete foobar; // TODO: Move this to the right place. 这有助于防止内存泄漏,因为您始终必须将删除项放在某个位置(例如,将其剪切并粘贴到析构函数或其他方法时)。


22
Java中有goto语句吗?
我对此感到困惑。我们大多数人都被告知Java中没有任何goto语句。 但是我发现它是Java中的关键字之一。在哪里可以使用?如果不能使用它,为什么将它作为关键字包含在Java中?
259 java  syntax  keyword  goto 




6
Groovy:“ def x = 0”中“ def”的目的是什么?
在下面的代码段(摘自Groovy语义手册页)中,为什么要为关键字加上前缀def? def x = 0 def y = 5 while ( y-- > 0 ) { println "" + x + " " + y x++ } assert x == 5 该def关键字可以被删除,这个片段将产生相同的结果。那么关键字的作用是def什么?
180 groovy  keyword 


5
实际使用`stackalloc`关键字
用stackallocC#编程时有没有人真正使用过?我知道它是做什么的,但是它唯一一次出现在我的代码中是偶然的,因为例如Intellisense在我开始键入时就建议这样static做。 尽管它与的使用情况无关stackalloc,但实际上我在我的应用程序中做了相当多的旧互操作,因此我时不时地可以诉诸使用unsafe代码。但是,尽管如此,我通常会找到unsafe完全避免的方法。 而且由于.Net中单个线程的堆栈大小约为1Mb(如果我写错了,请纠正我),因此我对使用保留了更多stackalloc。 在某些实际情况下,有人会说:“对于我来说,使用不安全的数据和处理量恰到好处stackalloc”?
134 c#  keyword  stackalloc 

6
为什么Clojure除了“符号”外还有“关键字”?
从过去开始,我就对其他Lisps(尤其是Scheme)有所了解。最近,我一直在阅读有关Clojure的文章。我看到它既有“符号”又有“关键字”。我熟悉的符号,但不包含关键字。 其他Lisps是否有关键字?除了具有不同的符号(即冒号)以外,关键字与符号有何不同?
130 lisp  clojure  scheme  keyword 

5
Haskell:在哪里与让
我是Haskell的新手,我对Where vs. Let感到非常困惑。它们似乎都提供了相似的目的。我已阅读之间的一些比较哪里和Let但是我很难辨别何时使用它们。有人可以提供一些背景信息,也可以提供一些示例来说明何时使用另一种方法吗? 在哪里与让 甲where子句只能在一个函数定义的电平来定义。通常,这与let定义范围相同。唯一的区别是使用防护装置的时间。该where条款的范围涵盖了所有保护措施。相反,let表达式的范围仅是当前函数子句和保护符(如果有)。 Haskell备忘单 该哈斯克尔维基是非常详细,并提供各种案件,但它使用的假设的例子。我觉得对于初学者来说,其解释太简短了。 Let的优点: f :: State s a f = State $ \x -> y where y = ... x ... Control.Monad.State 将不起作用,因为where是指与f =匹配的模式,其中范围内没有x。相反,如果您从let开始,那么您将不会有麻烦。 Haskell Wiki关于Let的优势 f :: State s a f = State $ \x -> let y = ... x ... in y …
117 haskell  keyword  where  let 

8
方法签名中的新关键字
在执行重构时,我最终创建了一个类似于以下示例的方法。为了简单起见,已更改数据类型。 我以前有这样的作业说明: MyObject myVar = new MyObject(); 偶然地将其重构为: private static new MyObject CreateSomething() { return new MyObject{"Something New"}; } 这是我剪切/粘贴错误的结果,但是new关键字in private static new有效并且可以编译。 问题:new关键字在方法签名中表示什么?我认为这是C#3.0中引入的? 这override有何不同?
113 c#  methods  keyword 

7
函数内部的“ static”关键字?
我正在查看Drupal 7的资源,发现了一些以前从未见过的东西。我在php手册中做了一些初步的了解,但没有解释这些示例。 关键字static对函数内部的变量有什么作用? function module_load_all($bootstrap = FALSE) { static $has_run = FALSE
110 php  function  static  keyword 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.