`
csstome
  • 浏览: 1522612 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

中途需要产生const变量的一些方法

阅读更多

需求:

int c = 0;
// the value of c is initialized here
switch(someVar) {
case foo: c = 3; break;
case bar: c = 4; break;
default : c = 42; // what else?
}
// now c is constant
ASSUME_CONST_FROM_NOW
(c) // 中途产生const变量

方法1:
c++0x
int const c = []() -> int { 
int r;
switch(42) {
case 3:
r
= 1; break;
case 4:
r
= 2; break;
default:
r
= 23;
};
return r;
}();

方法2:
int getInitCValue(int const& someVar)
{
// the value of c is initialized here
switch(someVar)
{
case foo: return 3;
case bar: return 4;
default : return 42; // what else?
}
}

int const c = getInitCValue(someVar);

方法3:
struct ConstValues
{
ConstValues()
{
switch(....)
// Initialize C/D
}
int const& getC() const {return c;}
int const& getD() const {return d;}
private:
int c;
int d;
};


分享到:
评论

相关推荐

    2、C++中const变量.docx

    const变量有一些限制,例如不能被修改,不能作为左值等。 9. const变量的应用 const变量可以应用于各种场景,例如定义常量、限制变量的修改权限、提高程序的执行效率等。 10. 总结 C++中的const变量是一种重要的...

    Const,Const函数,Const变量,函数后面的Const.txt

    如果需要在`const`成员函数中修改某些变量,则这些变量必须被声明为`mutable`。 - 如果`const`成员函数确实修改了对象的状态,那么在编译期间会报错。 通过以上讨论可以看出,`const`关键字不仅能够帮助开发者编写...

    C语言在头文件中定义const变量详解

    C语言在头文件中定义const变量详解 在头文件中定义const不会有多变量的警告或错误,如果该头文件被大量包含会造成rom空间的浪费。 通过查看*.i文件的展开呢,可以发现每个.i文件都会有相应的变量展开。 查看*.map...

    Const,Const函数,Const变量,函数后面的Const[参考].pdf

    Const 变量是指使用 Const 关键字修饰的变量,这种变量的值在定义后不能被修改。例如:`const int x = 10;` 在这里,x 的值将被固定为 10,不能被修改。 二、Const 函数参数 Const 关键字可以用来修饰函数参数,以...

    extern,static以及const修饰变量的不同用法

    ### extern、static以及const修饰变量的不同用法 #### 一、概述 在C语言中,`extern`、`static` 和 `const` 是三个非常重要的关键字,它们在定义变量时起到不同的作用。本文将深入探讨这三个关键字分别在定义全局...

    C语言中Const指针变量(常指针)

    C语言中的const指针变量是一种特殊的指针,它用于确保指针所指向的值不会被修改。但是,const指针变量的概念经常被混淆,理解其工作原理对于学习C语言非常重要。 首先,我们可以根据const关键字的位置区分两种常...

    c/c++语言中const的用法,const 定义变量,指针的用法和不同

    在本文中,我们将详细介绍 C/C++ 语言中 const 的用法,包括 const 定义变量、指针的用法和不同。 首先,让我们来看一个例子: ```c const int a = 10; int *pa = &a; *pa = 20; printf("%d\n", *pa); ``` 在上面的...

    c++ 类中const成员变量的赋值方法

    在头文件的类的定义中定义了一个const成员变量c++ 规则: 1、类定义中不能进行初始化,因为头文件中类的定义只是一个声明,并没有分配真正空间,因此变量是不存在的,因此是不能赋值的。 2、const 定义的变量是不能...

    类的static,const,static const,const static成员的初始化

    const 成员要在构造函数初始化,而 static 成员在需要在类体外初始化,那么 static const 和 const static 成员应该在哪里进行初始化呢?这两个写法又会有什么不一样吗? 经过查阅相关资料和做了相关实验后,我们...

    逆向dll中的函数及通过函数api钩子获取dll中的全局或是const变量值

    逆向dll中的函数及通过函数api钩子获取dll中的全局或是const变量值

    C语言CONST的使用

    在C语言中,const是一个非常重要的关键字,它被用于声明一个变量是常量,即其值在初始化之后就不能被改变。常量可以是整型、浮点型、字符型等多种基本数据类型,也可以是复合类型如指针或数组等。使用const关键字...

    const int *a int * const a区别实例

    在 C++ 中,const 变量是一种特殊的变量,声明时必须初始化,且其值不能被修改。例如: ```cpp const int r = 100; ``` 此处,r 是一个整型常量,编译器会将其替换为 100。注意,const 变量必须在定义时初始化,否则...

    JavaScript声明全局变量访问方法

    本篇文章将深入探讨JavaScript声明全局变量的几种方法以及如何访问这些变量。 1. **全局变量的声明方式** - **`var` 关键字**:这是最传统的声明全局变量的方式。当你在函数外部或任何代码块之外使用`var`关键字...

    c语言const用法小结

    需要注意的是,在初始化 const 变量时,需要遵守 const 的规则,不能对 const 变量进行更改操作。 5. const 在函数声明中的应用 const 在函数声明中的应用非常广泛,可以修饰函数的返回值、函数参数和整个函数。如...

    Const使用方法介绍

    为了程序的健壮型,减少程序出错,这里详细介绍了const的用法。

    const的一些操作

    ### const的一些操作 #### 1. const的基本使用与ANSI C中的表现 在程序设计语言中,`const`关键字用于声明常量或者指定某个变量的一部分为不可变的。在C和C++中,`const`的使用十分广泛,能够帮助程序员确保某些...

    简单掌握JavaScript中const声明常量与变量的用法

    const不仅限于基本数据类型,对象和数组也是可以使用const声明的,但是需要注意的是,这种方式只能保证变量名(引用)不变,但不保证对象或数组内容的不变性。例如: ```javascript const PERSON = { name: "Alice" ...

    static和const用法详解

    const限定变量的值不能被改变,而static限定变量或函数的作用域。例如,const int a = 10;定义了一个const变量a,它的值不能被改变,而static int a = 10;定义了一个static变量a,它的值可以被改变,但只能在定义它...

    const T vs. T const

    本文将详细探讨const关键字的用法,以及const在数据类型声明中的不同位置所产生的效果差异。 首先,const关键字可以应用于变量、函数参数、返回值以及类的成员函数等,表示"常量"或"不可变"的意思。当const修饰变量...

Global site tag (gtag.js) - Google Analytics