gpt4 book ai didi

Vala const 从读写变量初始化

转载 作者:行者123 更新时间:2023-12-01 10:47:02 24 4
gpt4 key购买 nike

我注意到 Vala 不允许您从非 const 变量初始化 const 变量。为什么是这样?这是故意的设计决定还是错误/遗漏?分别考虑这些 Vala 和 C 示例; Vala 程序编译失败,而 C 程序按预期编译和运行:

瓦拉

void main()
{
const int constInt = 1;
const int a = constInt;

int plainInt = 0;
const int b = plainInt;

stdout.printf("A: %d\n", a);
stdout.printf("B: %d\n", b);
}

// Compiler output:
// test.vala:7.18-7.25: error: Value must be constant
// const int b = plainInt;
// ^^^^^^^^

C

#include <stdio.h>

int main()
{
const int constInt = 1;
const int a = constInt;

int plainInt = 0;
const int b = plainInt;

printf("A: %d\n", a);
printf("B: %d\n", b);
return 0;
}

最佳答案

const 在 Vala 和 C 中有不同的含义。const 的 C 变量只是只读的,而 const 在 Vala 中是一个编译时常量,就像在 C# 中一样。

关于Vala const 从读写变量初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24988205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com