标签: variable-declaration

`List x;`和`List x()`之间有什么区别吗?

标题来自Marshall Cline 着名的网站C++ FAQ.

作者声称以下两个代码示例之间存在差异.

假设List是某个类的名称.然后函数f()声明一个名为x的本地List对象:

void f()
{
    List x;     // Local object named x (of class List)
    ...
}
Run Code Online (Sandbox Code Playgroud)

但是函数g()声明了一个名为x()的函数,它返回一个List:

void g()
{
    List x();   // Function named x (that returns a List)
    ...
}
Run Code Online (Sandbox Code Playgroud)

但使用第二种变体是否真的错了?

如果真的是一个声明,编译器会不会抱怨你不能在函数中声明一个函数?

c++ variable-declaration most-vexing-parse

4
推荐指数
1
解决办法
1776
查看次数

在plpgsql中声明多个相同类型的变量有什么捷径吗?

目前我以这种方式声明所有变量:

declare
  x int;
  y int;
  z int;
begin
  ...
end
Run Code Online (Sandbox Code Playgroud)

是否可以在一行中声明x,yz(具有相同类型),例如:

declare
  x, y, z int;
begin
  ...
end
Run Code Online (Sandbox Code Playgroud)

到目前为止,我还没有在文档中找到任何提示......

postgresql types plpgsql variable-declaration

4
推荐指数
1
解决办法
4425
查看次数

声明`String`类型的变量不起作用

我刚刚阅读了有关字符串数据类型的Rust文档,其中指出:

Rust &str虽然不止这么做.A String是堆分配的字符串.此字符串是可增长的,并且也保证为UTF-8.

麻烦:我想显式声明变量类型如下:

let mystring : &str = "Hello"; // this works
let mystring : String = "Hello"; // this does not. Why?
Run Code Online (Sandbox Code Playgroud)

string variable-declaration rust

4
推荐指数
2
解决办法
387
查看次数

在Java中声明非静态类中的静态变量

我是java的新手.我目前正在阅读一些关于静态变量的文章.当我试图实现我的学习时,我遇到了关于静态变量的问题.这是第一个代码示例.

public class Human {
    // in Human.java
    public static int population = 0;
    public static void main(String[] argv) {
         System.out.println(population);
    }
}
Run Code Online (Sandbox Code Playgroud)

此代码工作正常,结果为0.但对于以下代码,我不允许编译它.

public class Human {
    // in Human.java
    public class Charlie extends Human {
        public static int number = 0;
    }

    public static void main(String[] argv) {
         System.out.println(new Human().new Charlie().number);
    }
}
Run Code Online (Sandbox Code Playgroud)

发生错误:除非使用常量表达式初始化,否则不能在非静态内部类型中将字段编号声明为静态

我对这种情况很困惑.对于第一个代码示例,我的Human类是非静态的,我被允许在其中声明一个静态变量.为什么我不能为我的第二个代码示例做同样的事情.

任何帮助,将不胜感激.谢谢.:)

java variables static variable-declaration

4
推荐指数
1
解决办法
2630
查看次数

循环内外的变量的多个声明相同

#include <stdio.h>
int main()
{
    int i;
    for ( i=0; i<5; i++ )
    {
        int i = 10;
        printf ( "%d", i );
        i++;
    }
return 0;
}
Run Code Online (Sandbox Code Playgroud)

此变量ifor循环外声明,并在for循环内再次声明和初始化.C如何允许多个声明?

c variable-declaration

4
推荐指数
1
解决办法
71
查看次数

如何在三元表达式中声明变量?

我需要i根据条件进行设置:

let i = null
nightmode === true ? i = 1 : i = 0
Run Code Online (Sandbox Code Playgroud)

是否可以i在三元表达式内声明,或者是否必须在三元表达式之外(以处理范围界定)?

javascript scope ternary-operator variable-declaration

4
推荐指数
1
解决办法
5969
查看次数

创建一个字符串变量并在同一行请求输入?

我绝对讨厌这些不必要的编程步骤,你在一行上声明和分配一个变量,然后在下一行请求输入.

为了简短起见,我想创建一个变量并在同一行上请求输入.

目前我正在写这样的代码:

string name = "";
cout << "Please enter your name: ";
cin >> name; //Too many steps for no reason
Run Code Online (Sandbox Code Playgroud)

这有点我的目标:

string name = cin >> name
Run Code Online (Sandbox Code Playgroud)

显然,这条线在C++中不起作用,如果我闭上眼睛并捕食它,它也会起作用.

这样做有一个小技巧吗?我的意思是它可以在分配数组时使用for循环,为什么不在一行上声明和输入分配?

我知道读者会试着跳出窗外.goto证明了这个理论,是的,我自豪地使用它:)

任何帮助赞赏!

c++ variables input cin variable-declaration

4
推荐指数
1
解决办法
74
查看次数

Excel-VBA:必要的变量声明?

如果编写以下代码会是错误的吗?

Sub Something()
 Dim i As integer
 Dim xRange As Range
 Dim yRange As Range

 Set xRange= Range("x_table")
 Set yRange= Range("y_table")

 For i = 1 To xRange.Columns.Count
    xRange.Columns(i) = Application.Sum(y_table.Columns(i))
 Next i
End Sub
Run Code Online (Sandbox Code Playgroud)

没有具体声明每个变量?像吼叫;

Sub Something()
 Set xRange= Range("x_table")
 Set yRange= Range("y_table")

 For i = 1 To xRange.Columns.Count
    xRange.Columns(i) = Application.Sum(y_table.Columns(i))
 Next i
End Sub
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba variable-declaration

3
推荐指数
2
解决办法
8715
查看次数

在C中,名称"forgiveme"和"forgivemenot"何时可以引用相同的变量?

网站说,"不要你的变量给予相似的名称.例如,编译器可以假定forgivemeforgivemenot是同一个变量.如果是的话,可能会出现一个丑陋的局面."

我从来没有在变量命名中读过这个问题.这种丑陋的情况什么时候最有可能发生?他们说编译器可能认为它们不是同一个变量是什么意思?

c variable-declaration

3
推荐指数
2
解决办法
168
查看次数

是否定义了#define指令中变量名的声明?

如果我有以下代码:

#include <stdio.h>
#define VAR_NAME a_variable

int VAR_NAME = 42;

int main()
{
    printf("%i\n", VAR_NAME);
    printf("%i\n", a_variable);
    a_variable = 123;
    printf("%i\n", VAR_NAME);
    printf("%i\n", a_variable);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

宣言是否a_variable明确?在我的系统上,声明了一个intnamed a_variable,但是我是否必须担心声明int命名的备用编译器VAR_NAME

顺便说一下,上面的代码输出如下:

42
42
123
123
Run Code Online (Sandbox Code Playgroud)

编辑:

此外,如果前一个定义明确,我可以做以下事情吗?

#define VAR_NAME a_variable
...
#define DECL_VAR int VAR_NAME

// Declare an int named a_variable
DECL_VAR;
Run Code Online (Sandbox Code Playgroud)

c variable-declaration c-preprocessor

3
推荐指数
1
解决办法
330
查看次数