constants相关内容
..
什么时候在 C++ 中需要 const volatile 对象? 注意: 我确实理解 pointers 到 const volatile 内存位置的需要,但这些不需要对象本身const 或 volatile. 我问的是某些 const volatile 类型的 它们自己 的对象,例如: const volatile T obj; 这些在哪些情况下是必要的或有用的? 解决方案 在
..
在学习 JavaScript 的过程中,了解到引入 Let 和 const 是为了解决 Var 关于全局作用域和提升的问题并且如果重新声明也不报错. 现在我可以在不使用 var 的情况下完全编写代码吗?还是我应该暂时了解它们并等到它们被广泛“接受"? 也就是说,如果我暂时只使用let和const,我应该担心兼容性问题吗? 解决方案 直接回答这个问题 - 不,你不能,因为兼容性问
..
为什么 std::string::data 和 std::string::c_str() 返回指向 const 字符的指针,而std::string::operator[] 返回对 mutable 字符的引用? std::string string("八倍最大");自动 s = string.data();*s = 'r';//非法的自动 t = &string[0];*t = 'r';//完全
..
我想创建一个类来对一些 static const 值进行分组. //SomeClass.dart类SomeClass {static const SOME_CONST = '某个值';} dart 中防止依赖代码实例化此类的惯用方法是什么?我还想阻止扩展到此类.在 Java 中,我会执行以下操作: //SomeClass.java公共最终类 SomeClass {私人 SomeClass (
..
我正在编写一个封装了控制硬件设备的传统 C API 的类.在一个简化的例子中,我可能有类似的东西: 类设备{上市:void set_request(int data) { legacy_set_req(p_device, data);}int get_response() const { return legacy_get_rsp(p_device);}私人的:device_handle_t *
..
谁能解释为什么我不能在 C# 属性中使用 const Int32? 例子: private const Int32 testValue = 123;[描述(“测试:" + testValue)]公共字符串测试{获取;放;} 让编译器说: "属性参数必须是常量表达式,..." 为什么? 解决方案 由于错误状态,属性参数必须是 constant 表达式. 连接字符串
..
我想从具有 const 说明符的类继承,如下所示: 类属性{int get() 常量;无效集(int a);};类 ConstChild : 公共常量属性{//永远不能用这个类调用 A::set(),即使//这个类的实例化不是 const};类 NonConstChild : 公共属性{//可以调用 A::set() 和 A::get() 取决于//这个类的实例化的常量}; 我的编译器显然给了
..
我正在尝试解决一个问题,其中 decltype 将大大简化事情,但我在 *thisdecltype 时遇到了问题/code> 并添加 const 限定符.下面的示例代码演示了这个问题. #include 结构 Foo{空栏(){static_cast(*this).bar();}无效栏()常量{std::cout
..
代码: const char * const key; 上面的指针有2个const,我第一次看到这样的东西. 我知道第一个 const 使指针指向的值不可变,但是第二个 const 是否使指针本身不可变? 谁能帮忙解释一下? @更新: 我写了一个程序来证明答案是正确的. #include 无效 testNoConstPoiner() {诠释 i =
..
..
为什么下面的方法 getRanks() 编译不出来,我该如何优雅地修复它? 我想要做的就是定义一个返回成员引用的成员访问器方法.引用不是 const 因为我以后可能会修改它所引用的内容.但是由于成员方法不修改对象,所以我将它声明为const.编译器(clang,std=c++11)然后坚持认为存在“删除限定符"的“引用绑定".但我不会放弃预选赛,是吗?如果我是,为什么: struct te
..
..
Ruby 常量的真正含义是什么?以下代码未显示任何“常量"属性.警告在那里,但我仍然可以更改 A 所指的内容. A = 1把 A # =>1A = 2 # 警告:已初始化常量 A把 A # =>2 还是说 Ruby 常量只是一个指示,没有任何强制执行? 解决方案 没错,constants 就像 ruby 中的 variables,但是如果你改变了你会得到一个警告他们. 此外,
..
我从 C# 开始使用 C++,而 const 正确性对我来说仍然是新事物.在 C# 中,我可以声明这样的属性: 类类型{公共只读 int x;公共类型(int y){x = y;}} 这将确保 x 仅在初始化期间设置.我想在 C++ 中做类似的事情.我能想到的最好的方法是: 类类型{私人的:诠释_x;上市:类型(int y){ _x = y;}int get_x() { 返回 _x;}};
..
我正在阅读最近发布的 Go 编程语言,到目前为止,它一直很有趣(Brian Kernighan 是作者之一,无论如何,除了卓越之外,我不会期待任何其他东西. 我在第 3 章遇到了以下练习: 练习 3.13尽可能紧凑地为 KB、MB 到 YB 编写 const 声明. (注意:在此上下文中,KB、MB 等表示 1000 的幂) 这之前有一节介绍了 iota 作为一种有用的常量
..
我今天在重读 c++ 入门(第 4 版)——关于成员函数和 const 引用等的部分,我想出了这个奇怪的小程序: 使用 std::cout;使用 std::endl;类 ConstCheater{上市:ConstCheater(int avalue) : ccp(this), value(avalue) {}ConstCheater&getccp() const {返回 *ccp;}整数值;私人
..
我很惊讶在“const"中发现了这个“漏洞": #include A级{诠释r;上市:A():r(0){}无效的非常量(){puts("我在你的非常量方法中");r++;}} ;B类{一个;A* aPtr ;上市:B(){ aPtr = 新 A() ;}无效 go() 常量{//a.nonconst() ;//非法的aPtr->nonconst() ;//合法的}} ;主函数(
..
好吧,这似乎是一个愚蠢的问题,但它是这样的: 模板无效 foo(T&x){}主函数(){富(42);//传递 'void foo(T&) [with T = int]' 的参数 1 时出错} 是什么阻止了 C++ 用 T = const int 来实例化 foo 函数模板? 解决方案 问题是模板类型推导必须计算出精确匹配,而在这种特殊情况下,由于签名中的引用,精
..
为了避免幻数,我总是在我的代码中使用常量.回到过去,我们过去常常在无方法接口中定义常量集,现在它已成为一种反模式. 我想知道最佳做法是什么?我说的是全局常量.枚举是在 Java 中存储常量的最佳选择吗? 解决方案 使用接口存储常量是一种滥用接口. 但使用枚举并不是每种情况的最佳方式.通常一个普通的 int 或任何其他常量就足够了.定义自己的类实例(“类型安全的枚举")更加灵活,
..