constants 相关问题

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

为什么 eslint 认为这个对象永远不会被重新分配? (首选常量)

我正在使用 eslint 4.17.0,它报告了一个问题:号码从未重新分配,但我正在重新分配它。有人可以解释为什么在这种情况下我需要使用 const 吗? 让测试= { '努...

回答 2 投票 0

如何从文字字节表达式构造常量整数?

有没有办法从文字字节表达式构造常量整数,无论是使用字节字符串还是构造整数的宏? 例如: const MY_ID: u16 = u16_code!(ID); 合作...

回答 3 投票 0

如果参数是const,函数返回const,否则不是

是否有一种语法可以将以下函数合并为一个,以便如果输入是 const,则结果是 const,如果输入不是 const,则结果也不是 const? 字符* f1(字符* x) { 返回x+1; } 合作...

回答 3 投票 0

C++:如果参数是const,函数返回const,否则不是

是否有一种语法可以将以下函数合并为一个,以便如果输入是 const,则结果是 const,如果输入不是 const,则结果也不是 const? 字符* f1(字符* x) { 返回x+1; } 合作...

回答 2 投票 0

在内存耗尽之前我可以声明多少个 const 变量?

我正在编写包含大量 const 变量(主要是整数和枚举)的代码,我想知道我可以声明的变量数量是否有最大数量?我的想法是这些 const 变量被分配...

回答 1 投票 0

const void * 与 void const *

这个问题我得到了不同的答案。我知道其他数据类型的顺序并不重要/只是根据偏好(例如 const char * 和 char const *)。 不确定这是否同样适用于...

回答 1 投票 0

避免 GCC 编译器“不兼容的指针类型”警告

我写了两个函数。一种用于复制 char 类型数组: void char_arr_copy(const char *src, char *dst, int arr_size) { 整数我; for (i=arr_size-1; i >= 0; src++, dst++, i--) ...

回答 1 投票 0

初始化记录数组时常量表达式预期错误

我在尝试在 Delphi 中初始化记录常量数组时遇到问题。这是我的代码的简化版本: TParameterList = 记录 Parm_Name:字符串; Parm_Unit:字符串...

回答 1 投票 0

在 C# 中的字段上使用 const 或 readonly 修饰符是否有任何性能优势?

仅使用私有变量时,与常规的可修改字段相比,使用 const 或只读字段是否有任何性能优势。 例如: 公共课FooBaar { 私人企业...

回答 3 投票 0

结合多个键的Javascript常量列表

我正在开发 Node js 项目,其中我正在定义 const 列表,其中多个键具有相同的值。如果多个 case 具有相同的 va...,我们可以像在 switch..case 语句中那样将其组合起来吗...

回答 1 投票 0

如何从返回显式类型元组的函数初始化 const 原语

我有一个函数,它返回 const 值,而不是像这个问题一样通过引用返回。我想调用该函数并在调用该函数时初始化 const 变量,但这是不可能的...

回答 1 投票 0

是否有内置方法可以转换为不同的基础类型但保留 const 限定符?

C++11/14/17 标准库是否有办法将对象转换为不同的类型,但具有与原始对象相同的 cv 限定符?例如 字符* ptr; 常量字符* cptr; 类型转换 C++11/14/17 标准库是否有办法将对象转换为不同的类型,但具有与原始对象相同的 cv 限定符?例如 char* ptr; const char* cptr; type_cast<void*>(ptr) 应该产生类型 void* type_cast<void*>(cptr) 应该产生类型 const void* 标准库中没有,但当然可以自己实现: namespace detail_base_type_cast { template <class In, class Out> struct copy_cv { using type = Out; }; template <class In, class Out> struct copy_cv<In const, Out &> { using type = Out const &; }; template <class In, class Out> struct copy_cv<In volatile, Out &> { using type = Out volatile &; }; template <class In, class Out> struct copy_cv<In const volatile, Out &> { using type = Out const volatile &; }; } template <class Out, class In> typename detail_base_type_cast::copy_cv<In, Out>::type base_type_cast(In &obj) { return obj; // Implicit derived-to-base conversion } 看起来没有 C++17 或更早的 stdlib 方法可以在单个函数/语句中执行您想要的操作。 然而,看起来 C++20 中可能有类似的东西:https://en.cppreference.com/w/cpp/types/common_reference(似乎在任何编译器中都不可用)。 编辑:但它在 Ranges lib 中可用,因此如果您已经使用它,则可以使用 ranges::common_reference_t 代替。 但对于您的用例,重载参数常量或使用 if constexpr 可能是更好的选择。 即像这样的东西: template<typename T> auto foo(T &bar) { // lots of code if constexpr(std::is_const_v<T>) { return static_cast<const Foo&>(bar); } else { return static_cast<Foo&>(bar); } } https://godbolt.org/z/dbCUdM

回答 2 投票 0

为什么我收到“__constant__ 变量不支持动态初始化”?

我有以下结构: enum BoundSide { 右、左、上、下、后、前 }; 模板 使用 vec = 数组; //fpr 短静态向量场 li...

回答 2 投票 0

了解 Golang 中的 iota 和常量

有人可以解释一下这行代码发生了什么吗: 类型 Fate int 常量( 命运决定 = iota + 1 待定 // 尚未决定。 忘记了//决定但忘记了。 ) 我不

回答 1 投票 0

为什么 C 标准库忽略 const 正确性?

查看 C 标准库中的大多数函数,似乎都缺少 const,通常首选指定 const。 例如: ctype.h/c extern int isupper(...

回答 1 投票 0

即使启用了优化,也强制 GCC 始终加载 const(即只读)

假设我有一个 const 全局变量,因此它是只读的,并将被放置在 .rodata 部分中。我正在使用 -O3 优化来编译代码。这将使编译器(即 G...

回答 1 投票 0

对指针的常量引用

当我有一个指针的 const 引用时,为什么我能够更改指针指向的对象的值,const 在这个例子中意味着, 指针中存储的地址不能被更改...

回答 1 投票 0

如何在C++中初始化“静态const”数据成员?

是否可以在构造函数之外初始化静态常量数据成员?它可以在声明数据成员的同一位置进行初始化吗? A类{ 私人的: 静态常量 int a = ...

回答 5 投票 0

使用pattern作为常量变量时出现意外的正则表达式测试结果

我正在尝试使用正则表达式检查小时和分钟字符串。我使用的模式是可行的。当我直接使用模式时,一切都可以。但是当我将模式设置为常数时,并且...

回答 1 投票 0

如何初始化与类具有相同类型的类的静态常量成员?

我有一个类,其静态常量成员与该类具有相同的类型。我收到一个错误,表明课程尚未完成。 #包括 类别 颜色 { 民众: 颜色(无符号字符

回答 1 投票 0

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