首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Golang开发

    ES6——常量( const )

    const声明一个只读的常量。一旦声明,常量必须进行初始化且初始化的值就不能改变。 if (true) { console.log(MAX); // ReferenceError const MAX = 5; } 上面代码在常量MAX声明之前就调用,结果报错。 const声明的常量,也与let一样不可重复声明。 var message = "Hello!" 对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量。 因此,将一个对象声明为常量必须非常小心。

    78730发布于 2019-06-28
  • 来自专栏飞鸟的专栏

    ES6 const声明常量以及特点

    ES6(ECMAScript 2015)引入了const关键字,用于声明常量。在JavaScript中,常量是指其值在声明后不能被重新赋值的变量。 const声明的常量具有以下特点:常量值不能被重新赋值:一旦用const声明一个常量并初始化赋值,就不能再改变其值。任何尝试重新赋值的操作都会导致语法错误。 常量在声明的块(如函数内部或语句块)中是可见的,而在块之外是不可见的。重复声明不允许:在同一个作用域中,不允许重复声明已经存在的常量。如果尝试重复声明,将会抛出一个语法错误。 每个常量名称在同一作用域中只能声明一次。 常量必须初始化:const name; // 抛出SyntaxError: 常量声明缺少初始化在上面的示例中,我们没有给name常量提供初始值,这将导致一个语法错误。

    79650编辑于 2023-05-22
  • 来自专栏叶子的开发者社区

    const 指针 常量指针 指针常量 常量指针常量

    常量指针:指向常量的指针 在指针定义语句的类型前加const,表示该指针指向一个常量。 const int a=666; const int * p=&a; 常量a只能被访问而不能被改写,但指向常量a的常量指针可以改写。 指针常量 在指针定义语句的指针名前加const,表示该指针是常量。 int a; int * const p=&a; 指针常量在定义时必须初始化,且不允许修改,但其指向的地址的值可以修改,即p不可改写而*p可以改写。 常量指针常量:指向常量的指针常量 在定义时必须初始化。 const int a=666; const int * const p=&a; 很简单,p和*p都不能改写。

    62210编辑于 2023-07-28
  • 来自专栏Republic博客

    指针常量常量指针

    指针常量 顾名思义 这是一个指针类型的常量!常量的特点就是不可改变,所以被指针指向的常量地址也是不可以变的。 可以看到我们在定义并初始化一个指针常量之后,再次修改它的指向是不被允许的,但是它指向地址的值是可以改变的 常量指针 本质上是一个指针,常量表示指针指向的内容 比如整型指针 字符指针 等等 常量指针指向的内容是不可改变的 常量指针的特点就是指向的地址不能变化 str目前的指向的是字符串常量 apple的首地址 即'a'的地址 *a就表示字符'a' 那我们能修改吗,答案是不能 因为apple是常量 之前我们在字符串也阐述过 这里不再赘述 那我们是否能修改指针指向 改变字符串的内容 str = "orange"; 答案也是不能 orange也存放在常量区 他在常量区的地址也就是字符串的首地址 但是str是指针常量 不可以修改 1.如果想要实现修改str,首先要去掉指针常量 使他可以修改指向的地址 然后就可以指向常量区新的内存地址 2.也可以把指针常量改成常量指针(可以修改指针指向 不能修改地址的内容) #include<stdio.h

    60220编辑于 2023-10-11
  • 来自专栏前端小菜鸟

    ES6语法中常量声明(const)的实现原理

    ES6 const 特点: 临时性死区 在定义的时候完成初始化 不能重新定义 不能重新赋值 语义化标识,表示声明后不可更改的不变量 原理: ES5没有块级的概念,我们只能大概模拟一下const的定义。

    2.4K00发布于 2019-10-13
  • const常量、指向常量的指针和常量指针

    因为指向常量的指针有时候会指向常量,所以它具有这个性质:“不能靠解引用改变它指向的对象的值”,以此保护它所指向的常量常量性: *pa =d; // 不可行(d是已经声明过的整型) 但指针本身的值是可变的 这使得常量指针不象一般的const常量,用变量或常量初始化都可以。 也就是说,常量指针反而总是指向变量的。 4)最后,是前面两者的结合:指向常量常量指针 const int *const c=&e; //e是已经声明过的整型,整型常量或整型变量都可以 把它理解成一个普通的const常量,同时被剥夺了“靠解引用改变它指向的对象的值 后者中,const直接修饰pa,说明pa本身的值具有常量性,即常量指针。 ,记住它们的注释长度:短——长——短, 分别对应着:const常量、指向常量的指针、常量指针这三种,应该就不会混淆了。

    58500编辑于 2025-04-05
  • 来自专栏全栈程序员必看

    指针常量常量指针的区别_指针常量能指向常量

    1、指针常量——指针类型的常量(int *const p) 本质上一个常量,指针用来说明常量的类型,表示该常量是一个指针类型的常量。在指针常量中,指针自身的值是一个常量,不可改变,始终指向同一个地址。 ,常量地址只能赋值给常量指针 const int * ptr4 = &n; // 正确,常量地址初始化常量指针 int * const ptr5; // 错误,指针常量定义时必须初始化 ptr5 = &m; // 错误,指针常量不能在定义后赋值 const int * const ptr6 = &m; // 指向“常量”的指针常量,具有常量指针和指针常量的特点,指针内容不能改变 ,也不能指向其他地方,定义同时要进行初始化 *ptr6 = 5; // 错误,不能改变指针内容 ptr6 = &n; // 错误,不能指向其他地方 const int * ptr7 ”是一个字符串常量常量的值不可修改。

    3.3K20编辑于 2022-08-02
  • 来自专栏全栈程序员必看

    常量指针,指针常量的区别是什么_指针常量常量指针

    定义: 又叫常指针,可以理解为常量的指针,也即这个是指针,但指向的是个常量,这个常量是指针的值(地址),而不是地址指向的值。 特点: 常量指针指向的对象不能通过这个指针来修改,可是仍然可以通过原来的声明修改; 常量指针可以被赋值为变量的地址,之所以叫常量指针,是限制了通过这个指针修改变量的值; 指针还可以指向别处,因为指针本身只是个变量 ,可以指向任意地址; 表示形式 int const* p1; const int* p1; 二、指针常量 定义 本质是一个常量,而用指针修饰它。 指针常量的值是指针,这个值因为是常量,所以不能被赋值。 特点 它是个常量! ,即常量指针不可修改其指向地址 p1 = &b; //OK,指针还可以指向别处,因为指针只是个变量,可以随意指向; //——-指针常量——-// int* const p2 = &a; a =

    1.8K30编辑于 2022-11-10
  • 来自专栏技术之路

    详解 常量指针和指针常量

    说一下 常量指针和指针常量 的区别。 常量指针   指向常量的指针,也就是说指针指向的对象是常量,指向的常量不能修改。指针不是一个常量, 可以把指针指向别一个常量常量指针是我们最常用的,一般声明形式如下: const int *p; int const *p; 例: int a(1), b(3); const int * 不可以对指向的内容做修改: *p = 3; // 错误 指针常量   指针指向的地址不可以改变,地址的内容可以通过指针改变。指针常量在定义时必须赋值。 不能对指向的地址进行修改: p = &b; // 错误 我们也可以这样记 const 在谁前边谁就不可以修改: 常量指针 : const 在指针前边,我们就不可以修改指针。 指针常量 : const 在变量前边,我们就不可以修改指针的地址。

    1.6K70发布于 2018-01-31
  • 来自专栏做不甩锅的后端

    JAVA-常量常量

    Integer i2 = 10; Integer i3 = 0; Integer i4 = new Integer(10); Integer i5 = new Integer(10); Integer i6 System.out.println(i1==i4); //false System.out.println(i4==i5); //false System.out.println(i4==i5+i6) ;//true 运算导致等号右边是int 因此会将等号左边拆箱进行比较 System.out.println(10==i5+i6);//true 4.java字符串常量池 在java中,用String表示字符串 s2 = "hel" + "lo"; String s3 = "hel"; String s4 = s3+"lo"; String s5 = new String("hello"); String s6 System.out.println(s1 == s6);//false 表达式有null无法优化 其结果在堆中重新分配 System.out.println(s1 == s8);//false 堆中重新分配

    2.3K30发布于 2020-08-03
  • 来自专栏游戏开发司机

    C++:18---const关键字(附常量指针、指针常量常量指针常量

    double dval2 = 3.14;const double *cptr2 = &dval; //正确*cptr2 = 6.28; //错误 五、常量指针、指针常量常量指针常量 常量指针:( (值)生效,所以为常量指针 指针常量时,const左边为*(代表指针),所以为指针常量 常量指针常量时,有两个const,对int(值),*(指针)都生效,因此为常量指针常量 当然,上面的规则可以简化为下面一句话 : const出现在“*”号的左边,代表所指之物是常量 const出现在“*”号的右边,代表指针自身是个常量 初始化与使用 常量指针,因为所指对象是个常量,所以有下面的规则 可以常量指针指向于常量或非常量 pa = 1; //不能通过常量指针修改所指对象的值 指针常量,因为指针是个常量,而不是类型是常量,因此有下面的规则: 只能指向于非常量,不能指向于常量(因为放置指针常量修改常量的值 pb = &b; //错误,b是常量 *pa = 10; //正确,可以修改指向对象的值pa = &c; //错误,不能修改pa的指向(因为指针自身是个常量常量指针常量,有如下规则: 可以使用常量

    1.7K10发布于 2021-02-03
  • 来自专栏深度学习与计算机视觉

    C++ 指针常量常量指针

    = 3;//不合法 而对于3,它的作用是保证指针不会指向别处,也就是一旦用这种方式声明并初始化,指针指向的地址永远不会发生变化,但是其中的值却可以通过指针改变: int a = 5; int b = 6; ,那个叫做常量指针呢? 百度百科认为第一类应该叫做常量指针,第二类叫做指针常量 ? ? 上面说的情况,对于指针的修饰都只用了一个const关键字,还有两个const一起用的时候,此时的结果就是指针不能修改指向的数据,指针不能指向别的地方: int a = 5; int b = 6; const const int a = 5; int b = 6; int * const q = &a;//不合法 const int * const p = &a;//合法 *p = 4;//不合法 p =

    2.2K70发布于 2018-01-02
  • 来自专栏编程语言的世界

    c++常量,c++常量定义

    c++常量定义支持两种语法。 #define 常量名称  常量值const 常量类型 常量名称 = 常量值例如我们分别用两种语法表示linux和windows的换行符#include <iostream>#define WIN_EOL (){    std::cout << "Hi Windows" << WIN_EOL;    std::cout << "Hi Linux" << LIN_EOL;    return 0;}注意:常量定义为大写字母形式是一种编程代码规范

    51610编辑于 2023-06-27
  • 来自专栏全栈程序员必看

    integer常量池在哪_java 常量

    目录 常量池 Integer a= 127 与 Integer b = 127相等吗 ---- 常量池 java中存在字符串常量池,维护了所有String对象 使用String s=”zx”的时候是使用 String.valueOf(“zx”)从常量池中找了个对象返回 如果不存在则将内容放入常量池中 在使用new的时候是直接创建一个新的对象在堆中 Integer中也有常量池 其中缓存了-128到127之间的数字 如果整型字面量的值在-128 到 127 之间,那么自动装箱时不会 new 新的Integer 对象,而是直接引用Integer常量池中的 Integer 对象,超过范围 a1==b1 System.out.println(b == c); // true //如果整型字面量的值在-128到127之间, //那么自动装箱时不会new 新的Integer 对象, //而是直接引用常量池中的

    1.2K20编辑于 2022-09-30
  • 来自专栏Java架构师必看

    Java常量池(静态常量池与运行时常量池)

    今天说一说Java常量池(静态常量池与运行时常量池)[通俗易懂],希望能够帮助大家进步!!! 1、什么是常量 用final修饰的成员变量表示常量,值一旦给定就无法改变! final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。 Java中的常量池,实际上分为两种形态:静态常量池和运行时常量池。 接下来就是class文件的版本号,第5、6个字节是@次版本号@,第7、8个字节是@主版本号@。 每项常量都是一个表,而由于各个常量的类型不一,大小也不相同,所以同样需要一个u1类型的数据来标记常量的类型,以确定其后的常量表的格式。 运行时常量池相对于CLass文件常量池的另外一个重要特征是具备动态性,Java语言并不要求常量一定只有编译期才能产生,也就是并非预置入CLass文件中常量池的内容才能进入方法区运行时常量池,运行期间也可能将新的常量放入池中

    3K21编辑于 2022-09-23
  • 来自专栏陶士涵的菜地

    go常量中的无类型常量

    Go语言的常量有个不同寻常之处。虽然一个常量可以有任意一个确定的基础类型,例如int或float64,或者是类似time.Duration这样命名的基础类型,但是许多常量并没有一个明确的基础类型。 ,当赋值给特定类型时精度会有影响 只有常量可以是无类型的。 当一个无类型的常量被赋值给一个变量的时候,或者出现在有明确类型的变量声明的右边,无类型的常量将会被隐式转换为对应的类型 对于常量面值,不同的写法可能会对应不同的类型。 例如0、0.0、0i和\u0000虽然有着相同的常量值,但是它们分别对应无类型的整数、无类型的浮点数、无类型的复数和无类型的字符等不同的常量类型。 同样,true和false也是无类型的布尔类型,字符串面值常量是无类型的字符串类型。

    2.1K20发布于 2020-12-29
  • 来自专栏python3

    变量常量

    变量名的第一个字符不能是数字; 3.关键字/特殊字符不能声明为变量名; 官方推荐的变量定义方式 1.驼峰体 NameStore = 'xiaoming' 2.下划线 name_store = 'xiaoming' 常量 :值是固定的,不应该去修改,用大写表示,如NAME= 注意:Python是不支持常量的,大写定义的也可以改,约定熟成不去修改。

    1.2K30发布于 2020-01-19
  • 来自专栏十月梦想

    js常量

    1.常量:一旦赋值,不可以改变 1.什么时候使用常量? 只要一个变量的值不允许修改,那么就定义为常量 2.如何使用? const 常量名=值; 强调: 1.常量声明的时候必须初始化 2.命名强调大写(行规) 旧的浏览器中:   问题:修改常量的值不会报错,但   是修改不成功   --静默错误   解决:使用严格语法

    1.8K20发布于 2018-08-29
  • 来自专栏白胡杨同学

    PHP常量

    常量是指不会发生变化的量。具有全局性;一旦被定义,他的值只能是标量数据类型。 声明常量 常量的声明方式有两种: 1、define()函数 基本语法: bool define (string name,mixed value,bool case_insensitive) 创建成功显示 > 2、const关键字 该方式定义的常量必位于最顶端的作用区域,通常在编译时使用,而且不能在函数内、循环内、if语句内使用 <? > 使用常量 constant()函数: mixed constant(string name) <? > 预定义常量 常量常量值举例 说明 PHP_VERSION 7.33 当前PHP版本 PHP_OS

    2.8K20发布于 2020-04-08
  • 来自专栏白胡杨同学

    PHP常量

    PHP常量 常量是指不会发生变化的量。具有全局性;一旦被定义,他的值只能是标量数据类型。 声明常量 常量的声明方式有两种: 1、define()函数 基本语法: bool define (string name,mixed value,bool case_insensitive) 创建成功显示 > 2、const关键字 该方式定义的常量必位于最顶端的作用区域,通常在编译时使用,而且不能在函数内、循环内、if语句内使用 <? > 使用常量 constant()函数: mixed constant(string name) <? > 预定义常量 常量常量值举例 说明 PHP_VERSION 7.33 当前PHP版本 PHP_OS WINNT 当前PHP使用的操作系统 PHP_INT_MAX 9223372036854..

    2.5K30发布于 2020-04-10
领券