const(类的成员函数加const修饰到底有什么用途)
资讯
2023-11-25
314
1. const,类的成员函数加const修饰到底有什么用途?
每个类成员都有隐含的指向调用成员函数的类对象的this指针,成员函数形参表后的const修饰的是this,也就是ClassNamecn;constClassName*cp=&cn;这个this就相当于cp,是‘自认为’指向const对象的指针,因此该const成员函数不能对对象进行写操作
2. VB中const是什么意思?
常数定义,与dim差不多,但const定义的不能修改a的值,dim定义的可以重新赋值方法一privateconsta=5方法二dimaa=5
3. intint区别?
答:
1. const和intint的区别在于const是一个关键字,表示常量,而intint是两个关键字int和int的组合,表示整型变量。
2. const关键字用于定义常量,常量的值在程序运行期间不可改变,而intint用于定义整型变量,变量的值可以在程序运行期间改变。
常量的定义方式为const 数据类型 常量名 = 常量值,例如const int PI = 3.14; 整型变量的定义方式为 数据类型 变量名 = 初始值,例如int age = 18;。
3. 如果需要定义一个常量,可以按照以下步骤进行:
- 在变量名前加上const关键字,表示这是一个常量
- 指定数据类型,例如int、float等
- 给常量取一个名字,例如PI、MAX_VALUE等
- 用等号将常量值赋给常量,例如const int PI = 3.14;
如果需要定义一个整型变量,可以按照以下步骤进行:
- 指定数据类型为int
- 给变量取一个名字,例如age、count等
- 可以选择是否给变量赋初值,例如int age = 18;
4. 关于const的用法?
const指针的意思是“我承诺不通过该指针直接或间接地修改通过该指针可能访问到的任何内存空间”。
人家把一个const指针给了你,然后放心地去做别的事了,因为你承诺肯定不会篡改指针指向的内存;谁知道你把指针拷贝了一份,把const往旁边一扔,开始乱改内存。
这也太不厚道了。。
const的意义就在于读代码的人只要看到const,就立刻知道内存十之八九不会因这个指针而变了,算是提高了程序可读性。
为了保证这一点,const一旦沾上就很不容易拿掉了,就好像不小心做了一个一辈子的承诺。。 // 承君此诺,必守一生什么的。。啊啊。。
5. const是最简单的c吗?
const是一个C语言(ANSI C)的关键字,具有着举足轻重的地位。它限定一个变量不允许被改变,产生静态作用。使用const在一定程度上可以提高程序的安全性和可靠性。另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一定帮助。
另外CONST在其它编程语言中也有出现,例如Pascal、C++、PHP5、B#.net、HC08 C、C#等。
6. LPCTSTR和constchar?
LPCTSTR等同于const TCHAR *, TCHAR是一种中间类型,它根据你的工程是否定义了宏UNICODE而有不同。如果定义了UNICODE 那么,TCHAR = wchar_t (宽字符),否则,TCHAR =char。更多的你再去找些资料,下面给你个转换方法:
const char* pSource="ABCD中国"
; LPCTSTR pDest=NULL; if(sizeof(TCHAR)==sizeof(char)) { pDest=(LPCTSTR)pSource; } else { int length= sizeof(TCHAR)*(strlen(pSource)+1)
; LPTSTR tcBuffer=new TCHAR[length]; memset(tcBuffer,0,length)
; MultiByteToWideChar(CP_ACP,0,pSource,strlen(pSource),tcBuffer,length); pDest=(LPCTSTR)tcBuffer ; }
7. const函数的用法?
const在C/C++中有很多的用法,现将const的用法做如下总结。
1、const修饰变量
const修饰变量,可以使变量具有常属性,也就是该变量在以后的使用中其值都不能进行改变。
在这里要注意的一点就是const修饰的变量要进行初始化。
2、const和指针
用const修饰指针有以下几种情况
3、保护函数参数不被改变
用const修身函数的参数,可以保证该参数的值在函数内部不被改变。
但是一般const修饰的参数都有哪些呢?
一般用引用或者传地址的方式给函数传递一个参数,如果在函数体内对该参数进行修改,那么就会连实参的值一并进行修改。
4、const修饰函数返回值
const修饰函数的返回值,防止函数的返回值被修改
但是这里要注意的是,必须也用const修饰的变量来接收这个函数的返回值。
5、const修饰类成员函数
const可以修饰类成员函数,防止类成员函数中除了static成员之外的其他成员被修改。
6、const修饰类的成员变量
类的成员变量可以分为静态的和非静态的,如果const修饰的是静态的成员变量,可以在构造函数中对该变量进行初始化;如果const修饰的是静态的成员变量,则需要在类外对该变量进行初始化。
7、const和#define的区别
#define A 10
const int A=10;
上面两条语句的作用是一样的,但是后面一条语句可以节省内存空间,这是为什么呢?
原因在于在程序中多次使用const类型的变量,只会在第一次分配内存,但是如果使用#define定义的宏,则每次都会分配内存,这样看来使用const会节省很多空间。
8、const和extern
file1.cpp中, const int a;
file2.cpp中, extern int a; //错误,无法调用,
说明const修饰大的变量只能在该程序的本文件中使用,不能在该程序的其他文件中使用。
要想const定义的对象变量能被其他文件调用,定义时必须使用extern修饰为
extern const int val;
本站涵盖的内容、图片、视频等数据系网络收集,部分未能与原作者取得联系。若涉及版权问题,请联系我们删除!联系邮箱:ynstorm@foxmail.com 谢谢支持!
1. const,类的成员函数加const修饰到底有什么用途?
每个类成员都有隐含的指向调用成员函数的类对象的this指针,成员函数形参表后的const修饰的是this,也就是ClassNamecn;constClassName*cp=&cn;这个this就相当于cp,是‘自认为’指向const对象的指针,因此该const成员函数不能对对象进行写操作
2. VB中const是什么意思?
常数定义,与dim差不多,但const定义的不能修改a的值,dim定义的可以重新赋值方法一privateconsta=5方法二dimaa=5
3. intint区别?
答:
1. const和intint的区别在于const是一个关键字,表示常量,而intint是两个关键字int和int的组合,表示整型变量。
2. const关键字用于定义常量,常量的值在程序运行期间不可改变,而intint用于定义整型变量,变量的值可以在程序运行期间改变。
常量的定义方式为const 数据类型 常量名 = 常量值,例如const int PI = 3.14; 整型变量的定义方式为 数据类型 变量名 = 初始值,例如int age = 18;。
3. 如果需要定义一个常量,可以按照以下步骤进行:
- 在变量名前加上const关键字,表示这是一个常量
- 指定数据类型,例如int、float等
- 给常量取一个名字,例如PI、MAX_VALUE等
- 用等号将常量值赋给常量,例如const int PI = 3.14;
如果需要定义一个整型变量,可以按照以下步骤进行:
- 指定数据类型为int
- 给变量取一个名字,例如age、count等
- 可以选择是否给变量赋初值,例如int age = 18;
4. 关于const的用法?
const指针的意思是“我承诺不通过该指针直接或间接地修改通过该指针可能访问到的任何内存空间”。
人家把一个const指针给了你,然后放心地去做别的事了,因为你承诺肯定不会篡改指针指向的内存;谁知道你把指针拷贝了一份,把const往旁边一扔,开始乱改内存。
这也太不厚道了。。
const的意义就在于读代码的人只要看到const,就立刻知道内存十之八九不会因这个指针而变了,算是提高了程序可读性。
为了保证这一点,const一旦沾上就很不容易拿掉了,就好像不小心做了一个一辈子的承诺。。 // 承君此诺,必守一生什么的。。啊啊。。
5. const是最简单的c吗?
const是一个C语言(ANSI C)的关键字,具有着举足轻重的地位。它限定一个变量不允许被改变,产生静态作用。使用const在一定程度上可以提高程序的安全性和可靠性。另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一定帮助。
另外CONST在其它编程语言中也有出现,例如Pascal、C++、PHP5、B#.net、HC08 C、C#等。
6. LPCTSTR和constchar?
LPCTSTR等同于const TCHAR *, TCHAR是一种中间类型,它根据你的工程是否定义了宏UNICODE而有不同。如果定义了UNICODE 那么,TCHAR = wchar_t (宽字符),否则,TCHAR =char。更多的你再去找些资料,下面给你个转换方法:
const char* pSource="ABCD中国"
; LPCTSTR pDest=NULL; if(sizeof(TCHAR)==sizeof(char)) { pDest=(LPCTSTR)pSource; } else { int length= sizeof(TCHAR)*(strlen(pSource)+1)
; LPTSTR tcBuffer=new TCHAR[length]; memset(tcBuffer,0,length)
; MultiByteToWideChar(CP_ACP,0,pSource,strlen(pSource),tcBuffer,length); pDest=(LPCTSTR)tcBuffer ; }
7. const函数的用法?
const在C/C++中有很多的用法,现将const的用法做如下总结。
1、const修饰变量
const修饰变量,可以使变量具有常属性,也就是该变量在以后的使用中其值都不能进行改变。
在这里要注意的一点就是const修饰的变量要进行初始化。
2、const和指针
用const修饰指针有以下几种情况
3、保护函数参数不被改变
用const修身函数的参数,可以保证该参数的值在函数内部不被改变。
但是一般const修饰的参数都有哪些呢?
一般用引用或者传地址的方式给函数传递一个参数,如果在函数体内对该参数进行修改,那么就会连实参的值一并进行修改。
4、const修饰函数返回值
const修饰函数的返回值,防止函数的返回值被修改
但是这里要注意的是,必须也用const修饰的变量来接收这个函数的返回值。
5、const修饰类成员函数
const可以修饰类成员函数,防止类成员函数中除了static成员之外的其他成员被修改。
6、const修饰类的成员变量
类的成员变量可以分为静态的和非静态的,如果const修饰的是静态的成员变量,可以在构造函数中对该变量进行初始化;如果const修饰的是静态的成员变量,则需要在类外对该变量进行初始化。
7、const和#define的区别
#define A 10
const int A=10;
上面两条语句的作用是一样的,但是后面一条语句可以节省内存空间,这是为什么呢?
原因在于在程序中多次使用const类型的变量,只会在第一次分配内存,但是如果使用#define定义的宏,则每次都会分配内存,这样看来使用const会节省很多空间。
8、const和extern
file1.cpp中, const int a;
file2.cpp中, extern int a; //错误,无法调用,
说明const修饰大的变量只能在该程序的本文件中使用,不能在该程序的其他文件中使用。
要想const定义的对象变量能被其他文件调用,定义时必须使用extern修饰为
extern const int val;
本站涵盖的内容、图片、视频等数据系网络收集,部分未能与原作者取得联系。若涉及版权问题,请联系我们删除!联系邮箱:ynstorm@foxmail.com 谢谢支持!