const

    2热度

    5回答

    我很清楚C#不允许switch块中的readonly字段,这是this question地址。 我想了解为什么这种情况。这只是一个任意的语言规范怪癖,还是背后有技术原因?如果是这样,那么技术原因是什么? 让我说清楚,我明白const和readonly之间的区别,我知道C#switch需要const值,或在编译时已知值。 对我来说,在功能上,使用大量的if..else if语句具有相同的结果作为使用

    -1热度

    2回答

    所以我想将一些整数转换成我的终端可以写入的字符数组。所以我可以在运行时看到我的代码计算的值用于调试目的。 如如果int_t计数= 57我想要的终端写57. 所以字符*将是5个字符的阵列和7 这里的起脚虽然是,这是在独立环境中,使得装置没有标准的C++库。 编辑: 这意味着没有std :: string,没有c_str,没有_tostring,我不能只打印整数。 我有机会获得的0646,stddef

    6热度

    5回答

    是否有一个原因的strcpy的签名是这样的: char *strcpy(char *dest, const char *src); ,而不是这个? char *strcpy(char *const dest, const char *src); 据我所知,函数永远不会改变指针。 我误解了什么const指针应该用于?在我看来,当我写一个函数接受一个不会被改变的指针(通过realloc等),然

    1热度

    3回答

    我知道const对象不能调用非const成员函数。它还代表了在C++ 14标准(ISO/IEC 14882:2014)第9.3.2节,第3段: 甲CV-合格成员函数可以被称为上的对象表达式(5.2 .5)只有当对象表达式是成员函数的cv-qualified或less-cv-qualified。 如果成员函数不修改任何东西,这个约束是否有意义?或者,如果成员函数修改一个可变变量?例如: class

    1热度

    1回答

    我只是想将Delphi 2007应用程序转换为Delphi 10.在2007版本的软件中,我使用了一个常量的TFormatSettings。由于TFormatSettings类型在两者之间发生了变化,我遇到了以下问题: 如何定义TFormatSettings常量?我试过如下: XML_FormatSettings : TFormatSettings = ( CurrencyString:

    0热度

    1回答

    比方说,我有一个C以下设置++程序,在全球/命名空间范围(以外的任何块): 情况1: a.cpp extern const int i=5; b.cpp extern const int i; 有两种方式,在我的脑海里,编译器可以看到这一点。一个是,真正的声明是在b.cpp中,而a.cpp只有一个前向声明和初始化。 (因为我们知道,对于特定的外部常量,在声明时不需要初始化)编译器可能生成的

    1热度

    4回答

    我有2个定义,其中一个带有一个字符串,另一个带有一个数字。如何从字符串和数字定义一个常量数组。这个数组中还有一些额外的常量。 我该如何编写这段代码,使之在数组foobar中具有0x22,0x41,0x42,0x42,0x21,来自定义的FOO和BAR? #define FOO "AB" #define BAR 33 extern int rs232_write(const unsigned

    -3热度

    1回答

    我创建了一个名为的DataGrid组件类和里面我创建了一个常量定义几个要素: const ResultTypes = { Email : 1, Event : 2, Contact: 3, File : 4, Skype : 5 } 要访问它在当前类,或js文件我简单的使用这个: if (x === ResultTypes.Email)

    0热度

    1回答

    据说,const变量要从外部引用(即有外部链接),extern关键字是强制性的。所以: const int f = 3; // Definition of f with internal linkage (due to const) extern const int g; // Declaration of g with external linkage 如果这是正确的,那么如何以下罚款仍然

    2热度

    2回答

    我正在寻找关于如何使用const添加附加保护的规则。 例如: int** p1 = ...; int** const p2=p1; // Legal int* const * const p3=p1; // Legal int* const * const p4=p3; // Legal const int* const * const p5=p3; // Error int*** c