constants相关内容

std :: set迭代器自动const

可能重复: 为简单起见,我已经提取了问题并更改了名称,等等。 基本上我实例化一个类,然后将其存储在std :: set中,稍后我希望引用该类,以便我可以检查其值并对其进行修改... 简化代码: MyClass tmpClass; std :: set setMyClass; setMyClass.insert(tmpClass); std ..
发布时间:2020-09-27 01:06:31 C/C++开发

什么时候在C ++中使用const volatile,注册volatile,static volatile?

我想知道 volatile 关键字与 register , const 和 static 结合使用的不同用法关键字。我不确定会产生什么影响,所以我认为: 寄存器volatile int T = 10; 建议编译器将T存储在寄存器中,并且T的值可以在外部(操作系统,硬件,另一个线程) const volatile int T = 10; 程序本身不 ..
发布时间:2020-09-27 00:31:27 C/C++开发

为什么const方法不能返回非const引用?

为什么下面的方法 getRanks()不能编译,我该如何优雅地解决它? 我要做的就是定义一个成员访问器方法,该方法返回对成员的引用。该引用不是 const ,因为我以后可能会修改它所引用的内容。但是由于成员方法不会修改对象,因此我将其声明为 const 。然后,编译器(clang,std = c ++ 11)坚持认为存在“丢弃引用”的“引用绑定”。但是我没有放弃预选赛,对吗?如果我是,为什么 ..
发布时间:2020-09-27 00:08:28 C/C++开发

constexpr与静态const:更喜欢哪一个?

对于定义如下整数类型(在函数和类范围)的编译时常量,哪种语法最好? static const int kMagic = 64; //(1) constexpr int kMagic = 64; //(2) (1)对于C ++ 98/03编译器也适用,相反,(2)至少需要C ++ 11。两者之间还有其他区别吗? 编辑 我使用 Godbo ..
发布时间:2020-09-26 23:37:00 C/C++开发

const到C ++中的非常量转换

这几天我对 const 关键字感到非常恼火,因为我不太熟悉它。我有一个存储所有const指针的向量,例如 vector。 *> * Q_exclude ,在另一个类的构造函数中,我需要将此队列中的一个元素作为参数传递并将其分配给非const成员。我的问题是: 如何将const变量分配给非const变量?我知道这没有任何意义,因为毕竟const是const,因此 ..
发布时间:2020-09-26 23:32:55 C/C++开发

具有const和不具有const的相同功能-什么时候以及为什么?

T& f(){//一些代码...} const T& f()const {//一些代码...} 我已经看到了几个现在(在我一直在研究的入门书中)。我知道第一个const使返回值const,换句话说:不可修改。我相信,第二个const允许也可以为const声明的变量调用该函数。 但是,为什么要在同一个类定义中同时使用两个函数呢?编译器如何区分这些?我相信第二个f() ..
发布时间:2020-09-26 22:31:30 C/C++开发

我可以在向量中使用const来允许添加元素,但不能对已添加的元素进行修改吗?

我对此答案的评论让我思考了这些问题常数和排序。我试了一下,将问题归结为以下代码: #include int main(){ std :: vector v; } 无法编译-您无法创建const ints向量。显然,我应该知道这一点(从理智上我也知道),但是我从来不需要创建这样的东西。但是,这对我来说似乎是一个有用的结构 ..
发布时间:2020-09-26 22:27:22 C/C++开发

在C ++标头中定义常量变量

我正在研究的程序具有适用于所有类的许多常量。我想制作一个头文件“ Constants.h”,并能够声明所有相关的常量。然后在其他课程中,我可以只包含 #include“ Constants.h 。 我可以使用它可以使用 #ifndef ... #define ... 语法,但是我更喜欢使用 const int ... 常量形式。我不太确定该怎么做。 解决方案 您只需在头文件中定义一系 ..
发布时间:2020-09-26 22:18:04 C/C++开发

在C ++和C中将'const int'与'int const'作为函数参数

考虑: int testfunc1(const int a) { return a; } int testfunc2(int const a) { return a; } 这两个功能在各个方面是否都相同还是有区别? / p> 我对C语言的答案很感兴趣,但是如果C ++语言中有一些有趣的东西,我也想知道。 解决方案 const T ..
发布时间:2020-09-26 21:17:21 C/C++开发

静态常量字符串(类成员)

我想为一个类(在这种情况下为形状工厂)提供一个私有静态常量。 我想拥有某种类型的东西。 p> class A { private: static const string RECTANGLE =“ rectangle”; } 不幸的是,我从C ++(g ++)编译器中收到各种错误,例如: ISO C ++禁止初始化 成员'RECTANGLE' ..
发布时间:2020-09-26 20:49:58 C/C++开发

存储程序使用的一组常量的最佳方法是什么?

我的程序中使用了各种常量... 字符串, int , double 等...存储它们的最佳方法是什么?我不希望我使用 Enum ,因为数据的类型不尽相同,我想手动设置每个值。我应该将它们全部存储在一个空类中吗?还是有更好的方法? 解决方案 您可能将它们放在具有静态只读属性的静态类中。 / p> 公共静态类路由 { 公共静态字符串SignUp => “注册”; } ..
发布时间:2020-09-26 01:45:31 C#/.NET

C#的只读(类似于“ const”的)函数参数

来自C ++背景,我习惯将 const 关键字粘贴到函数定义中,以使对象以只读值传递。但是,我发现这在C#中是不可能的(如果我错了,请纠正我)。经过一番谷歌搜索后,我得出的结论是,制作只读对象的唯一方法是编写一个仅具有“ get”属性的接口,并将其传递给它。 公共接口IFoo { IMyValInterface MyVal {get; } } 公共类Foo:IFoo { ..
发布时间:2020-09-25 22:31:32 C#/.NET

在静态类中使用const

在过去的一个周末,我跑了一个开源项目放入一些让我感到困惑的代码查找 C#规范中的用法。 p> 问题代码如下: 内部静态类SomeStaticClass { private const int CommonlyUsedValue = 42; 内部静态字符串UseCommonlyUsedValue(...) { //一些代码 value = CommonlyUsedVal ..
发布时间:2020-09-25 21:04:51 C#/.NET

“静态只读”与“ const”

我已经阅读了大约 const 和静态只读字段。我们有一些仅包含常量值的类。它们用于我们系统中的各种事物。因此,我想知道我的观察是否正确: 对于所有公开的东西,这些常量值是否总是 static readonly ?并且仅对内部/受保护/私有值使用 const ? 您推荐什么?我是否应该甚至不使用静态只读字段,而是使用属性? 解决方案 公共静态只读字段有点不寻常; 公共静态属性(只 ..
发布时间:2020-09-25 18:38:37 C#/.NET

char s []和char * s有什么区别?

在C语言中,可以在这样的声明中使用字符串文字: char s [] =“ hello” ; 或类似这样: char * s =“ hello”; 那么有什么区别?我想知道在编译和运行时在存储持续时间方面实际发生了什么。 解决方案 此处的区别在于 char * s =“ Hello world”; 将“ He ..
发布时间:2020-09-25 07:38:34 其他开发

声明一个长常量字节数组

我有一个长字节数组,需要在C#代码中声明。我做这样的事情: 公共静态类定义 { public const byte [] gLongByteArray = new byte [] { 1,2,3, //等等 }; } 但是我收到一个错误,指出const数组只能用null初始化。 如果我将 const 更改为 static ,它将编译,但是我的问题是-当 ..
发布时间:2020-09-24 22:10:34 C#/.NET