精华内容
下载资源
问答
  • const 的位置

    2019-06-28 21:51:33
    const int * p; int const * p; // p为常量: int * const p = 0; // p及指向变量都是常量: const int * const p = 0; int const * const p = 0;. 小结:(1)常量必须初始化; (...
    	// p指向的变量为常量:
        const int * p;
        int const * p;
        // p为常量:
        int * const p = 0;
        // p及指向的变量都是常量:
        const int * const p = 0;
        int const * const p = 0;.
        小结:(1)常量必须初始化;
    		 (2)const的结合为右结合:const p与const *p。
    
    展开全文
  • const的位置

    2016-03-11 10:52:41
    位置 类型关键字前面 实例 int a,b;const int *p=&a; 说明 p是一个指针变量,指向一个整型常量,则它表明** *p 是一个常量,而 p 不是,由于 *p 是只读,是不可以在程序中被修改,所以,一旦将 *p ...

    const类型限定符

    才疏学浅,资历欠佳,难免有误,望有心人批评指正。
    序号 const类型限定符说明
    1 位置 类型关键字的前面
    实例 int a,b;const int *p=&a;
    说明 p是一个指针变量,指向一个整型常量,则它表明** *p 是一个常量,而 p 不是,由于 *p 是只读的,是不可以在程序中被修改的,所以,一旦将 *p 作为左值在程序中对其赋值,将被视为非法操作,但是 p 指向的变量 a 是可以修改的,因此 **p=&b是合法的操作。
    2 位置 类型关键字的后面,* 变量名的前面
    实例 int const *p=&a;
    说明 p是一个指针变量,指向一个整型常量,则它表明* *p 是一个常量,而 p 不是*,*p 是只读的,是不可以在程序中被修改的,基本上同 1
    3 位置 类型关键字 * 的后面,变量名的前面
    实例 int* const p=&a;
    说明 p 是一个常量指针,可指向一个整型,它表明** p 是一个常量,而 *p 不是,p 是只读的,是不可以在程序中被修改的,所以,一旦将 p 作为左值在程序中对其赋值,将被视为非法操作,但是它指向的变量的值是可以修改的,因此 **p=&b是非法的操作,而*p=20是合法操作,同 1 相反。
    4 位置 一个在关键字前,另一个在关键字之后 * 之后和变量名之前
    实例 const int* const p=&a;
    说明 p是一个指针常量量,指向一个整型常量,它表明 *p 和 p 都是常量,都是只读的,则*p=20 和 p=&b 都是非法操作
    • 以上const的四种使用方法,第一种较为常用,许多标准库函数都在函数的某些指针参数的类型前加上const限定符,如 double atof(const char *nPtr), 目的就是只允许函数访问指针参数指向的地址单元中的内容,而不允许修改其内容,从而对参数起到了一定的保护作用,减少程序出错的机会!
    • const 还可以用来定义常数 ,如 const double PI=3.1415926;
    展开全文
  • const的位置问题

    2018-09-11 14:55:00
    来源:牛客网 下列哪两个是等同 int b; 1.const int *a = &b; 2.const * int a = &... 3.const int* const a = &... 4.int const* const a = &...int const *a 和 const int *...


    来源:牛客网

    下列哪两个是等同的

    int b;

    1.const int *a = &b;

    2.const * int a = &b;

    3.const int* const a = &b;

    4.int const* const a = &b;

    3,4是相同的。

    int const *a 和 const int *a 意义相同,作用等价 同理,本题3、4意义相同

    第2个语法错误,没有这种写法。

    展开全文
  • const的位置与区别

    千次阅读 多人点赞 2017-03-28 13:52:37
     这里 const 关键字是用于修饰常量,书上说 const 将修饰离它最近对象,所以,以上两种声明意思分别应该是: 1) p 是一个指向常量字符指针,不变是 char 值,即该字符值在定义时初始化后就不能再...

    一个比较经典的问题——问以下两种声明的区别:
    1)  const char * p
    2)  char * const p

     这里的 const 关键字是用于修饰常量,书上说 const 将修饰离它最近的对象,所以,以上两种声明的意思分别应该是:
    1)  p 是一个指向常量字符的指针,不变的是 char 的值,即该字符的值在定义时初始化后就不能再改变。
    2)  p 是一个指向字符的常量指针,不变的是 p 的值,即该指针不能再指向别的。

    现在倒是正确说出了两者的意思,但应该怎样记忆它们呢?
    至少我觉得我经常会忘记,以后再遇到了可能又会混淆不清。-_- !

    无意间,在网上看到有人介绍了一种不错的记忆方法,分享如下:

    Bjarne 在他的《The C++ Programming Language》里面给出过一个助记的方法——“以 * 分界,把一个声明从右向左”。
    注意语法,* 读作 pointer to (指向...的指针),const (常量) 是形容词,char (变量类型) 和 p (变量名) 当然都是名词。 
    1)  const char * p 读作:p is a pointer to a const char,译:p 是一个指针(变量),它指向一个常量字符(const char)
    2)  char * const p 读作:p is a const pointer to a char,译:p 是一个常量指针(const p),它指向一个字符(变量)。

    从两处蓝色标记也能看出前面提到的“const 修饰离开最近的对象”的说法。

    另外请再注意下面的情况。
    先看 const int a 和 int const a,这里没有分界符 *,虽然 const 的位置不同,但意思不变,它 const 修饰的是 int,常量整数。
    再看 const char * p 和 char const * p,首先以 * 分界,虽然 const 的位置改变了,但它都是在修饰 char,常量字符。

    展开全文
  • Class File { private: // 配置源文件 String strConfigJson; public: ... void SetFileName(const String &...此时const放在函数参数类型之前(const String & strFile),修饰strFile,意指:在函...
  •  这里 const 关键字是用于修饰常量,书上说 const 将修饰离它最近对象,所以,以上两种声明意思分别应该是: 1) p 是一个指向常量字符指针,不变是 char 值,即该字符值在定义时初始化后就不能再改
  • (1)const的位置

    2015-08-18 10:37:09
    const是C++语言引入的一个关键字,是“不变的”、“常量”的意思。用const定义一个变量,实际上是定义了一个“常变量”(即只读变量)。...(1)const的位置 const的位置比较灵活。一般说来,除了修饰一个类的成员函数
  • 这里 const 关键字是用于修饰常量,书上说 const 将修饰离它最近对象,所以,以上两种声明意思分别应该是: 1) p 是一个指向常量字符指针,不变是 char 值,即该字符值在定义时初始化后就不能再改变...
  • const的位置及区别

    2013-07-30 09:58:41
    这里 const 关键字是用于修饰常量,书上说 const 将修饰离它最近对象,所以,以上两种声明意思分别应该是: 1) p 是一个指向常量字符指针,不变是 char 值,即该字符值在定义时初始化后就不能再改变...
  • 这个函数定义在类中,其中的const的位置我很在意。 当我用这样的代码创建一个新CFrameWindowWnd 类的时候是没问题的: CFrameWindowWnd * Window= new CFrameWindowWnd 如果我修改上面函数const的位置,变成...
  • 一个比较经典问题——问以下两种声明区别: 1) const char * p ...这里 const 关键字是用于修饰常量,书上说 const 将修饰离它最近对象,所以,以上两种声明意思分别应该是: 1)
  • 关于const的位置

    2011-08-19 00:55:09
    如下两段代码: 代码一: int main() ...上面两段代码内容一样,但const 和 int的位置不同。虽然两种都可以,但我更偏爱第二种,因为它可以理解成:成为常量的是int类型的值。 在下例中将更明显:
  • volatile 和 const的位置

    2011-03-16 16:50:00
    int i = 0; const int ci = 1; //ci是const const int * pi = &ci; //(*pi) 是const,同int const *pi = &ci int * const pi = &i;...规则可以简单理解为const修饰const之后表示类型(包括类型
  • const 关键字

    2019-08-06 10:58:28
    2. const出现的位置 引用中出现const 常引用和非常引用的转换(const T &和 T &是不同类型) 指针中出现const 函数中出现const 函数后出现const 3. const的合理使用 4. this指针的作用 知识点 ...
  • C++中const总结  一:对于基本声明  1.const int r=100;  //标准const变量声明加初始化,因为默认内部连接所以必须被初始化,其作用域为此文件,编译器经过类型检查后直接用100在编译时替换.  2.extend ...
  • const位置的含义

    2019-12-19 20:16:15
    int num = 1024; const int num2 = num1; //只能第一次赋值 ... //const 在 * 前面时,指针的位置可以修改,但不能通过指针修改指向的变量 int const * p = # //同上 int * const p = #//c...
  • 在看 c++ Primer 时看到了 关键字const 用法,很详细,在这里记录下 以前只知道用const 修饰 变量无法修改 例如 const int x = 443; 但是我们有时候可以看到 int x = 44; const int *p1 = &x; int * ...
  • const的不同位置的用法

    千次阅读 2018-10-29 12:30:12
    传递过来参数var在函数内不可以改变,一般我们只读参数需要使用const来加以保护; 第三个const:该函数是const。编译器会对这个函数进行检查,在这个函数中任何试图改变成员变量和调用非const成员函数操作都...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,558
精华内容 3,423
关键字:

const的位置