Tag: 关键字

在if语句中Python等价于&&(逻辑和)

这是我的代码: # F. front_back # Consider dividing a string into two halves. # If the length is even, the front and back halves are the same length. # If the length is odd, we'll say that the extra char goes in the front half. # eg 'abcde', the front half is 'abc', the back half […]

重新定义C ++关键字是否合法?

在本周的Guru 这篇文章中 ,有人说:定义It is illegal to #define a reserved word. 这是真的? 我找不到任何规范,例如,我已经看到程序员重新定义新的东西。

是否有任何理由在C ++ 03中使用“自动”关键字?

注意,这个问题最初是在2009年发布的,在C ++ 11被批准之前, auto关键字的含义被彻底改变之前。 所提供的答案仅适用于自动types的C ++ 03含义 – 即指定的存储类 – 而不是自动types推导的C ++ 11的含义。 如果您正在寻找有关何时使用C ++ 11 auto ,则此问题与此问题无关。 最长的时间我以为没有理由在C中使用static关键字,因为在块范围之外声明的variables是隐式的全局variables。 然后我发现在块范围内声明一个variables为static会给它一个永久的持续时间,并且在块范围外(在程序范围内)声明它会给它一个文件范围(只能在该编译单元中访问)。 所以这给我留下了只有一个我可能还没有完全理解的关键字: auto关键字。 除了“局部variables”还有其他一些含义吗? 它所做的任何事情都不是在你想要使用它的地方为你做的。 autovariables在程序范围中如何performance? 什么是文件范围内的static autovariables? 这个关键词除了完整性以外还有其他用途吗?

是否有一个ANSI SQL替代MYSQL LIMIT关键字?

是否有一个ANSI SQL替代MYSQL LIMIT关键字? LIMIT关键字限制了SELECT返回的行数,例如: SELECT * FROM People WHERE Age > 18 LIMIT 2; 返回2行。 SELECT * FROM People WHERE Age > 18 LIMIT 10, 2; 在第一个10之后返回2行。

在类的函数声明之后,“default”是什么意思?

我已经看到在类中的函数声明旁边使用的default 。 它有什么作用? class C { C(const C&) = default; C(C&&) = default; C& operator=(const C&) & = default; C& operator=(C&&) & = default; virtual ~C() { } };

理解隐含在Scala中

我正在通过Scala的playframework教程,我遇到了这个代码片段,让我感到困惑: def newTask = Action { implicit request => taskForm.bindFromRequest.fold( errors => BadRequest(views.html.index(Task.all(), errors)), label => { Task.create(label) Redirect(routes.Application.tasks()) } ) } 所以我决定调查,并遇到这个职位 。 我还是不明白 这有什么区别: implicit def double2Int(d : Double) : Int = d.toInt 和 def double2IntNonImplicit(d : Double) : Int = d.toInt 除了明显的事实,他们有不同的方法名称。 什么时候应该使用implicit ,为什么?

将字典传递给python中的函数作为关键字参数

我想使用字典在Python中调用一个函数。 这里是一些代码: d = dict(param='test') def f(param): print param f(d) 这打印{'param': 'test'}但我想它只是打印test 。 我希望它能以类似的方式工作更多的参数: d = dict(p1=1, p2=2) def f2(p1,p2): print p1, p2 f2(d) 这可能吗?

方法签名中的新关键字

在执行重构时,我最终创build了一个如下例所示的方法。 为简单起见,数据types已被更改。 我以前有一个这样的赋值语句: MyObject myVar = new MyObject(); 这是偶然的重构: private static new MyObject CreateSomething() { return new MyObject{"Something New"}; } 这是我的一个剪切/粘贴错误的结果,但在new的private static new关键字是有效和编译。 问题 : new关键字在方法签名中意味着什么? 我认为这是在C#3.0中引入的东西? 这与override有何不同?

什么时候在C ++中引入了“和”或“或”替代令牌?

我刚刚从Reddit阅读这个好的一块 。 他们提及and正在or正在成为&&和|| “替代令牌” 直到现在我才真正意识到这些。 当然,大家都知道di-graph和tri-graph ,但and和or ? 从何时起? 这是最近添加到标准? 我刚刚使用Visual C ++ 2008进行了检查,似乎并没有将这些识别为语法错误以外的任何东西。 这是怎么回事?

在C中注册关键字?

register关键字在C语言中做什么? 我已经读过它用于优化,但没有在任何标准中明确定义。 它是否仍然相关?如果是,那么你什么时候使用它?