问题标签 [variable-declaration]

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 投票
5 回答
279 浏览

c# - 使用 var 进行类型声明而不是显式设置接口类型

我不确定我是不是想多了,但在过去,我在声明一个类时做过这样的事情:

跳入myService将带您进入IMyService界面。

但是,执行以下操作将(显然)将您带到MyService.

哪个被认为是“正确”的用法,或者这是“你最喜欢的冰淇淋口味是什么?”的另一个例子。?

我已经查看了最相关的问题,但它并没有真正回答我的情况。

0 投票
3 回答
9933 浏览

c - 如何告诉 Visual Studio/Microsoft 的 C 编译器在第一条语句之后允许变量声明?

我有在 GNUARM 编译器上编译的代码,但 Visual Studio 2010 出现错误。该问题涉及在 C 语言文件中的第一条语句之后声明变量:

主程序

以下代码编译没有错误:

我正在使用默认设置来创建 Win32 控制台项目。当我将“编译为”属性设置为“编译为 C++ (/TP)”时,在一些 Visual Studio 头文件中出现编译错误。(右键单击项目,选择PropertiesConfiguration PropertiesC/C++Advanced)。

如何告诉 Visual Studio 2010 在第一条语句之后允许变量声明,如 C++ 或当前的 C 语言标准?

0 投票
1 回答
144 浏览

scheme - Scheme中的严格变量声明

Scheme lisp 是否提供任何库。类似于 perl“严格”变量声明?

0 投票
5 回答
16436 浏览

c - C 中的 int* ptr 和 int *ptr 有什么区别?

我是 C 的新手,我不知道以下两个变量声明之间的区别:

我认为在声明int* ptr;中,ptr的值不能更改,而声明可以更改,int *ptr;

我不确定是不是这样。

这两个声明背后的概念是什么?

0 投票
8 回答
79848 浏览

c++ - C ++,'if'表达式中的变量声明

这里发生了什么?

2003 标准中的第 6.4.3 节解释了在选择语句条件中声明的变量如何具有延伸到条件控制的子语句末尾的范围。但是我看不到它在哪里说不能在声明周围加上括号,也没有说每个条件只有一个声明。

即使在条件中只需要一个声明的情况下,此限制也很烦人。考虑一下。

如果我想在 x 设置为 false 的情况下进入“if”-body 范围,则声明需要括号(因为赋值运算符的优先级低于逻辑 OR),但由于不能使用括号,因此需要在外部声明 x身体,将该声明泄漏到比预期更大的范围。显然这个例子是微不足道的,但更现实的情况是 a 和 b 是返回需要测试的值的函数

那么我想做的事情是不符合标准的,还是我的编译器只是破坏了我的球(VS2008)?

0 投票
1 回答
282 浏览

c++ - 'if' 表达式后续中的变量声明

这是 C++ 的后续,'if' 表达式中的变量声明

规则(据我所知)是:

  1. 每个表达式只能声明 1 个变量
  2. 变量声明必须首先出现在表达式中
  3. 必须使用复制初始化语法 而不是 直接初始化语法
  4. 声明周围不能有括号

根据这个答案,1 和 2 是有意义的,但我看不出 3 和 4 的任何理由。其他人可以吗?

0 投票
1 回答
1929 浏览

objective-c - 在@implementation 中声明变量

我在一本书中看到了一个显示此代码的示例:

为什么不声明@interface呢?声明变量 in@implementation而不是 有什么区别@interface?为什么要NSString在范围内声明它?

0 投票
9 回答
202491 浏览

c++ - 在循环内声明变量,好的做法还是坏的做法?

问题 #1:在循环中声明变量是好做法还是坏做法?

我已经阅读了关于是否存在性能问题的其他线程(大多数人说不),并且您应该始终将变量声明为接近它们将被使用的位置。我想知道是否应该避免这种情况,或者它是否真的是首选。

例子:

问题#2:大多数编译器是否意识到变量已经被声明并且只是跳过该部分,或者它实际上每次都在内存中为它创建一个位置?

0 投票
5 回答
16830 浏览

c - while 循环中的变量声明 C/C++

根据我的说法,while循环应该是无限的,但它只运行三次

它输出99..99..99

但根据我的说法,它应该运行无限次,因为每次控制进入while循环时它的值都是100。所以它永远不会达到零。只是为了试验我在while循环中替换int i=100;i=100;现在它运行无限次..为什么???

0 投票
1 回答
228 浏览

java - 对象引用类型(动态绑定)有问题吗?

基本上我在这里有一个小问题。

我有一个超类和一个子类。我应该做一个分配,我从子类中执行一个方法,它覆盖了超类中的方法。这工作正常。我遇到的问题是“动态绑定”。当我将引用变量类型声明为与子类相同的类时,它可以正常工作。但是,当我将类型声明为超类时,它甚至不承认任何子类的方法存在。

这是一个例子。我有一个名为 Ship 的类和另一个名为 BabyShip 的 Ship 子类

如果我将 ShippyShip 的引用声明为:

它工作正常。但是,当我将其声明为:

如果我将 subref 的类型声明为 Ship ,编译器甚至不会识别 BabyShip 中的任何方法......但我的书清楚地表明它应该这样做。为什么要这样做?

当我编译它时,它给出了一个常规的找不到符号错误。