Tag: 关键字

C:`const`关键字的行为

我被告知如果我在ANSI-C中编码以按照将使用变量的顺序声明,断言指针不是null并且索引在边界内,并且在使用变量之前初始化。 如果我声明一个const,我可以在一个断言和代码块后初始化它吗? 在Java中,最终的初始化必须在声明时进行,但是通过ANSI-C实现它是一致的,我可以初始化const一次但不一定在声明时?

什么是C / C ++中的bool? 关键字还是宏?

我提到了这个问题 ,其中一些答案表明bool是一个整数类型(IDE也将其视为关键字)。 但是,没有一个答案表明cplusplus中提供的信息,其中bool是一个通过添加的宏(在这种情况下,编译器可能在编译时隐式添加此头文件以允许bool )。 这是的g ++版本。 那么bool到底是什么? 一个整数类型的关键字或宏?

在C ++中使用关键字class作为变量名

我在编写使用为C文件设计的头文件的C ++代码时遇到问题。 特别是,头文件使用了一个名为class的变量名: int BPY_class_validate(const char *class_type, PyObject *class, PyObject *base_class, BPY_class_attr_check* class_attrs, PyObject **py_class_attrs); 这适用于C,因为类不作为关键字,但在C ++中,类是。 那么无论如何我可以#include这个头文件到一个c ++文件,或者我运气不好? 谢谢。

c中“auto”关键字的概念

能否请你在C程序中给出关键字“auto”的确切概念。 当我读完一本书“Deep C secrets”时,得到了以下引用。 auto关键字显然毫无用处。 它只对编译器 – 写入器在符号表中创建条目有意义 – 它表示此存储在进入块时自动分配(与全局静态分配或堆上的动态分配相反)。 Auto与其他程序员无关,因为默认情况下它是免费的。

为什么“static”关键字在C和C ++中有这么多含义?

众所周知,关键字static在C语言中有多重含义 .C99增加了合法写作的可能性 void foo (int arr[static 50]) { // … } 这增加了混乱,而C ++具有静态成员变量和函数。 如果所有的用途都可以以某种方式连接,这不会那么麻烦,但我发现很难找到某些情况的链接。 特别是为什么static关键字应该用于修改可见性(链接),或者它究竟与数组的最小元素数量有关。 那么滥用static关键字是否存在历史原因,或者是否存在连接其所有用途的秘密链接?

寄存器变量的地址

在C中,我们不能使用&来查找寄存器变量的地址,但在C ++中我们也可以这样做。 为什么它在C ++中合法而在C中不合法? 有人可以深入解释这个概念。