以下声明之间有什么区别:
int* arr1[8];
int (*arr2)[8];
int *(arr3[8]);
Run Code Online (Sandbox Code Playgroud)
理解更复杂的声明的一般规则是什么?
我正在阅读"用C++思考",它刚刚介绍了这个extern声明.例如:
extern int x;
extern float y;
Run Code Online (Sandbox Code Playgroud)
我想我理解了意义(没有定义的声明),但我想知道什么时候它有用.
有人能提供一个例子吗?
是否可以在Python中声明变量,如此?:
var
Run Code Online (Sandbox Code Playgroud)
所以它初始化为None?似乎Python允许这样做,但是一旦你访问它,它就会崩溃.这可能吗?如果没有,为什么?
编辑:我想这样做的情况:
value
for index in sequence:
if value == None and conditionMet:
value = index
break
Run Code Online (Sandbox Code Playgroud)
问题#1:在循环中声明一个变量是一个好习惯还是坏习惯?
我已经阅读了其他关于是否存在性能问题的线程(大多数说没有),并且您应该始终将变量声明为接近它们将被使用的位置.我想知道的是,这是否应该避免,或者它是否真的是首选.
例:
for(int counter = 0; counter <= 10; counter++)
{
string someString = "testing";
cout << someString;
}
Run Code Online (Sandbox Code Playgroud)
问题2:大多数编译器是否已经声明变量已经被声明并且只是跳过了那个部分,或者它实际上每次都在内存中为它创建了一个位置?
我不明白为什么变量在函数内部声明时表现得如此奇怪。
在first我用let变量b和c值10声明的函数中:
b = c = 10;
Run Code Online (Sandbox Code Playgroud)
在second我显示的函数中:
b + ", " + c
Run Code Online (Sandbox Code Playgroud)
这表明:
10, 10
Run Code Online (Sandbox Code Playgroud)同样在first函数中,我a用值10声明:
let a = b = c = 10;
Run Code Online (Sandbox Code Playgroud)
但是在second函数中它显示了一个错误:
找不到变量:
a
现在在first我d用值20声明的函数中:
var d = 20;
Run Code Online (Sandbox Code Playgroud)
但是在second函数中,它显示了与以前相同的错误,但使用了变量d:
找不到变量:
d
例子:
b = c = 10;
Run Code Online (Sandbox Code Playgroud)
我是VBA的新手,想知道我是否可以将以下声明和作业转换为一行:
Dim clientToTest As String
clientToTest = clientsToTest(i)
Run Code Online (Sandbox Code Playgroud)
要么
Dim clientString As Variant
clientString = Split(clientToTest)
Run Code Online (Sandbox Code Playgroud) 我只是想知道如果你做了这样的事情会有任何速度或效率的损失:
int i = 0;
while(i < 100)
{
int var = 4;
i++;
}
Run Code Online (Sandbox Code Playgroud)
宣告int var一百次.在我看来会有,但我不确定.这样做会更实际/更快:
int i = 0;
int var;
while(i < 100)
{
var = 4;
i++;
}
Run Code Online (Sandbox Code Playgroud)
或者它们是相同的,速度和效率方面的?
这里发生了什么?
if(int a = Func1())
{
// Works.
}
if((int a = Func1()))
{
// Fails to compile.
}
if((int a = Func1())
&& (int b = Func2()))
)
{
// Do stuff with a and b.
// This is what I'd really like to be able to do.
}
Run Code Online (Sandbox Code Playgroud)
2003标准中的6.4.3节阐述了在选择语句条件中声明的变量如何具有延伸到由条件控制的子语句末尾的范围.但是我没有看到它在什么地方说不能在括号内加上括号,也没有说明每种条件只有一个声明.
即使在需要条件中只有一个声明的情况下,这种限制也很烦人.考虑一下.
bool a = false, b = true;
if(bool x = a || b)
{
}
Run Code Online (Sandbox Code Playgroud)
如果我想在x设置为false的情况下输入'if"-body范围,则声明需要括号(因为赋值运算符的优先级低于逻辑OR),但由于括号不能使用,因此需要声明外部x身体,将声明泄露到比预期更大的范围.显然这个例子是微不足道的,但更现实的情况是a和b是函数返回需要测试的值
那么我想要做的是不符合标准,还是我的编译器只是破坏了我的球(VS2008)?
看一下在线源代码,我在几个源文件的顶部看到了这个.
var FOO = FOO || {};
FOO.Bar = …;
Run Code Online (Sandbox Code Playgroud)
但我不知道是什么|| {}.
我知道{}是等于new Object(),我认为这||是为了"如果它已经存在使用其值,否则使用新对象.
为什么我会在源文件的顶部看到这个?
学习python,并有一些基本的疑虑.
我看过变量声明(路径在这里)
class writer:
path = ""
Run Code Online (Sandbox Code Playgroud)
有时,没有明确的声明,但初始化__init__.
def __init__(self, name):
self.name = name
Run Code Online (Sandbox Code Playgroud)
我理解的目的__init__,但是建议在任何其他函数中声明变量.
2.如何创建变量来保存自定义类型?
class writer:
path = "" # string value
customObj = ??
Run Code Online (Sandbox Code Playgroud) c++ ×4
javascript ×2
loops ×2
python ×2
arrays ×1
c ×1
compilation ×1
if-statement ×1
namespaces ×1
or-operator ×1
pointers ×1
python-2.7 ×1
python-3.x ×1
vba ×1