问题标签 [constants]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
674 浏览

c# - C# - 这个声明的字符串是否被视为常量?

帮我在这里解决一个争论。

这是:

处理方式与此完全相同:

IE。如果我明确指出字符串 s 是一个常量,它会有所不同吗?

而且,如果不以同样的方式对待它,为什么不呢?

0 投票
14 回答
437613 浏览

ios - Objective-C 中的常量

我正在开发一个Cocoa应用程序,并且我使用常量NSStrings 作为存储键名的方式来满足我的偏好。

我知道这是一个好主意,因为它可以在必要时轻松更改密钥。
另外,这是整个“将数据与逻辑分开”的概念。

无论如何,有没有一种好方法可以为整个应用程序定义一次这些常量?

我确信有一种简单而智能的方法,但现在我的课程只是重新定义他们使用的课程。

0 投票
3 回答
236 浏览

c++ - const set& 的问题。编译器/STL 错误或不可移植使用?

家里有语言律师吗?

下面的代码应该编译吗?

在其中一个平台(Sun Workshop)上,这不会编译。它报告 find 函数返回了一个迭代器,而 end 函数返回了一个 const_iterator 并且它在这些类型之间没有有效的比较运算符。

以下确实编译:

0 投票
6 回答
1438 浏览

c++ - 设计一个惰性向量:const 的问题

我写了一个小“惰性向量”类(或延迟向量),它应该看起来像 astd::vector并且可以在使用 astd::vector的任何地方使用,但它会“惰性”加载它的元素,即它会加载元素n(可能还有更多)每当有人访问 element 时从磁盘中获取n。(原因是在我的应用程序中,并非所有元素都适合内存。)

这是此类LazyVector,但const使用此类向量的成员函数存在问题,请参见下文。

正如我所说,当const成员函数请求LazyVector. 本质上LazyVector,访问一个元素不是 const,即它会改变vec下面的向量,这在这种情况下是被禁止的。foo成员函数必须const且不能更改。我该如何解决这个问题?

0 投票
5 回答
37076 浏览

c++ - 一个奇怪的 C++ 错误:test.cpp:15: 错误:将 'const *' 作为 '*' 的 'this' 参数传递会丢弃限定符

我在使用一段特定的代码时遇到了一些问题,如果有人能在这件事上给我启发,我将不胜感激,我已在以下示例中隔离了问题:

那么可能导致以下错误的原因是:

test.cpp:15:错误:将 'const testing' 作为 'int testing::test()' 的 'this' 参数传递会丢弃限定符

非常感谢!

0 投票
5 回答
2239 浏览

java - 对属性键使用常量有什么意义?

最近,我遇到了很多依赖“属性文件”进行配置的 Java 代码。但是代码使用常量(静态最终字符串)来检索属性值,而不是普通的旧字符串文字。

我发现这种额外的间接级别很烦人,因为我需要在任一方向执行两次查找。如果我从配置文件中观察到的属性开始,我必须先搜索属性名称以找到 Java 常量,然后再次搜索以找到代码中对该常量的引用。如果我从代码开始,我必须先找到常量的实际值,然后才能确定配置文件中属性的值!

重点是什么?

我理解使用常量来引用资源包中的键的价值,通常是为了支持 i18n。我指的是简单的、非面向用户的配置值。我能想到的唯一原因是以后可以轻松更改属性名称,但是这种好处远不及恕我直言的烦恼,尤其是考虑到全局搜索和替换的简便性。

0 投票
11 回答
13451 浏览

c# - 什么时候,如果有的话,我们应该使用 const 吗?

Const被烘焙到客户端代码中。Readonly不是。但是const速度更快。可能只是轻微的。

const问题是,有没有你更喜欢的场景readonly?或者换种说法,我们实际上不是总是readonly用 a代替 a更好const吗(记住上面所说的烘焙)?

0 投票
8 回答
364 浏览

string - 什么时候可以很好地利用时间来重构字符串文字?

我开始一个项目,其中大部分时间都将字符串写入代码中。许多字符串可能只在少数地方使用,但一些字符串在许多页面中都很常见。

将文字重构为常量是否可以很好地利用我的时间,因为该应用程序已经很好地建立并且运行良好?这样做的长期好处是什么?

0 投票
7 回答
6929 浏览

c - 在 C 中返回一个指向常量对象的 void 指针

我正在编写一个访问函数,它返回一个指向内部缓冲区的指针,我想向我的函数的用户提示他们不应该更新指向的对象。一个非常人为的例子是:

是的,我知道这看起来很古怪。

我要防止的是:

我知道我不能完全阻止它,但我至少希望编译器警告提示用户他们不应该这样做。如果他们投了我的指针,那就是他们的问题。是否有 const 和 void 和 * 的某种组合可以做到这一点?我试过类似的东西:

但它似乎消除了指针的无效性,所以调用者必须这样做:

或者

并且不能这样做:

我终于来了:

如果用户这样做:

编译器(至少是 GCC)确实抱怨丢弃了限定符。

0 投票
18 回答
71277 浏览

c++ - C/C++ 更改 const 的值

我有一篇文章,但我把它弄丢了。它展示并描述了一些人们应该小心的 C/C++ 技巧。其中一个让我感兴趣,但现在我正在尝试复制它,我无法将它编译。

这个概念是可以偶然改变constC/C++中 a 的值

是这样的:

我想把这个给朋友看,但现在我错过了一步。有谁知道开始编译和工作缺少什么?

ATM 我从 'const int*' 到 'int*' 的转换无效,但是当我阅读文章时,我尝试过,效果很好。