constants 相关问题

编程中的常量是定义,其值在整个程序的执行过程中是固定的。例如,大多数语言中的文字都是常量。在引用透明的编程样式中,所有定义都是常量。

为什么 const 限定符在 C++ 中应用于推导的左值引用时会被忽略?

将 const 应用于推导为左值引用的 T 时(例如,将左值传递给采用通用引用的函数时),修饰符将被忽略。假设我们通过常规

回答 1 投票 0

#define 和 const 有什么区别? [重复]

可能的重复: 为什么有人会使用#define 来定义常量? C++ 中宏和 const 的区别 C++ - enum vs. const vs. #define 使用 # 和有什么区别

回答 6 投票 0

使用 const 键但使用非 const 值进行映射?

我有一种情况,我想要一个不允许在初始化后添加/删除键的映射,但允许更改值(因此我不能简单地使映射常量)。 IE /*

回答 6 投票 0

java中常量变量和final变量有什么区别?

请帮我理解Java中常量变量和final变量的区别。我对此有点困惑。

回答 4 投票 0

返回引用的常量方法

Foo 类 { int 酒吧; 民众: int& GetBar() 常量 { 返回栏; } } GetBar 是 const 方法可以吗? 它实际上并没有改变任何东西,但它提供了......

回答 6 投票 0

错误:将“std::map<int, mapValue>&”类型的引用绑定到“const std::map<int, mapValue>”会丢弃限定符

我有一张地图,它是一个对象的一部分,我想确保我不会意外地弄乱它;但是,编译时出现以下错误: ./test.cpp:在成员函数‘std::map中 我有一张地图,它是一个对象的一部分,我想确保我不会不小心弄乱它;但是,在编译时,出现以下错误: ./test.cpp: In member function ‘std::map<int, mapValue>& myClass::getMap() const’: ./test.cpp:22:49: error: binding reference of type ‘std::map<int, mapValue>&’ to ‘const std::map<int, mapValue>’ discards qualifiers 22 | map<key, mapValue> &getMap() const { return m; } | 这是我的代码: #include <string> #include <map> #include <iostream> using namespace std; struct mapValue { int num; string data; }; class myClass { public: typedef int key; //hopefully this helps future people searching for a similar error void adjustMap(int index, mapValue mv) { m[index] = mv; } map<key, mapValue> &getMap() const { return m; } private: map<key, mapValue> m = { {0, {0, "Hi!"}}, {1, {0, "Hello"}}, {2, {1, "Goodbye"}} }; }; void operateWithMapData(const myClass &c) //I don't want to accidentally mess up //the map or anything in c { const auto &m = c.getMap(); //Seriously, I do NOT want to edit this map. for(auto &kv : m) { cout << kv.first << ":" << kv.second.data << ":" << kv.second.num << endl; } } int main() { myClass c; c.adjustMap(5, {8, "Bye"}); operateWithMapData(c); return EXIT_SUCCESS; } 我想确保在处理 operateWithMapData 时不会意外插入、更改或删除任何现有值。 通常,我知道当我将 c 设为 const 引用时,我不会: 毫无意义地应对大量数据(通过参考部分) 使其不可变(常量部分) 如果我只是这样做并从 myClass::getMap() 中删除 const 并将其保留在 operateWithMapData 中,那么: 仍然无法编译 这可能意味着我可以访问原始地图的可变版本,我可能会在其他地方搞砸。 我想我的问题分为两部分: 如何正确完成我想要的事情? 我能否获得有关此错误含义的详细解释,以便将来如果我看到类似的情况,我可以自行修复它。 这里有一些相关问题,但我认为它们不能解决我的问题.. 绑定到类型引用会丢弃限定符 如何在C++中通过引用返回类对象? 错误:将“&”类型的引用绑定到“const 丢弃限定符” 您有一个常量 myClass 对象,这意味着您无法修改它或其成员。 您的 getMap() 函数被标记为 const,以便可以调用常量对象。但是 const 修饰符还保证该函数不会执行任何可能导致成员变量修改的操作。 通过返回对非常量映射的引用,您就违背了这一承诺,因为通过它您可以修改常量对象内的映射。 因此,最好的解决方案是让函数返回对常量映射的引用: const map<key, mapValue> &getMap() const { return m; }

回答 1 投票 0

为什么使用struct来保存常量,而不是静态类?

我刚刚注意到两个结构体对象,JwtHeaderParameterNames和JwtRegisteredClaimNames,它们的唯一目的是存储字符串常量。 为什么他们要让它们成为结构,即使有......

回答 1 投票 0

Hibernate/JPA:在实体类中存储常量?

我在远程项目上工作,在日志中发现了有趣的记录: 2015-12-26 00:28:30,835 调试 org.hibernate.tool.hbm2ddl.SchemaUpdate 调用者+0 在 org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(

回答 1 投票 0

虚函数在基类中是 const 而在派生类中不是 const

任何人都可以解释以下代码的输出吗? #包括 #包括 动物类 { 民众: 动物(const std::string & name) : _name(name) { } ~动物...

回答 7 投票 0

将指针列表转换为 C++ 中的常量指针列表

我有一个类需要构建/维护指向对象的指针列表,但随后应该返回一个常量列表以指向相同数据的常量指针。 所以像这样: 类 Foo { 私人的: ...

回答 1 投票 0

编译错误:vba 中需要常量表达式[重复]

以下代码抛出编译错误:需要常量表达式 如何解决该错误? 子宏1() 将 myInteger 调暗为整数 我的整数 = 123 Const yourInteger As Integer = myInt...

回答 1 投票 0

当yield是保留关键字时,我可以在Java 17中使用YIELD作为常量字段名称吗?

我有一个较旧的Java代码库,其中yield既用作方法名称又用作标识符。升级到 Java 17 后,yield 由于其在新的 switch 表达式中的作用而成为保留关键字...

回答 1 投票 0

`const auto`有什么意义吗?

我觉得这个问题已经很清楚了。 auto 关键字会自动检测 const 性,还是始终返回非 const 类型,即使存在例如。函数的两个版本(一个返回 const ,一个返回

回答 5 投票 0

在 Dart 中 const 构造函数之前使用 const 时的不同行为

在 Dart 文档中,它指出我们不应该在初始化 const 构造函数之前放置 const,因为关键字已经是隐式的。 但是,有人可以解释为什么下面的代码

回答 1 投票 0

c++ 多文件中的“const”

在 C++ Primer 中,它告诉我应该用 'extern' 修改所有 const 变量。然而,当我在 DevC++ 5.11 和 C++11 中尝试这样做时,我发现没有必要。 //主.cpp #包括<

回答 2 投票 0

关于指向常量 Foo 的指针的澄清,其中 Foo 是一个结构体

代码: 结构体Foo { 整数a = 0; int 常量 b = 1; }; int main() { 富 f{}; Foo const *const_ptr_f = &f; const_ptr_f->a++; // 错误 } 我想知道为什么...

回答 1 投票 0

多文件中的c++'const'

在 C++ Primer 中,它告诉我应该用 'extern' 修改所有 const 变量。但是,当我在 DevC++ 5.11 中尝试使用 C++11 时,我发现没有必要。 //主.cpp #包括 #包括&q...

回答 1 投票 0

如何从 C 函数返回符合 MISRA 的 const 结构成员的地址?

我有一个 C 函数,它获取结构成员的地址并将其作为 void 指针返回。 该函数的第一个参数提供指向该结构的指针。此参数作为 co...

回答 1 投票 0

揭示编译器在传递给引用与传递给 const 引用时所做的事情

编译下面所示的代码,并检查反汇编(objdump -DSs a.out > a.dis),我看不到调用 fun_ref(T &) 和 fun_const_ref(cons...

回答 1 投票 0

PHP 中的动态常量名称

我正在尝试动态创建一个常量名称,然后获取该值。 定义( CONSTANT_1 , "某个值" ) ; // 尝试动态使用它... $constant_number = 1 ; $constant_name = ("常量...

回答 4 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.