zoukankan      html  css  js  c++  java
  • const使用摘要

    const在四种方案如以下:

    int b = 500;
    		const int *a = &b; ①(底层const)
    		int const *a = &b; ②(底层const)
    		int *const a = &b; ③(顶层const)
    		const int *const a = &b; ④(靠右的是顶层const。靠左的是底层const)

    第一种情况:const位于星号的左側那么const就是用来修饰指针所指向的变量,即指针指向为常量;这样的情况下不同意对内容进行更改操作。(底层const)

    int b = 500;
    	const int *a = &b;
    	//*a = 600;  错误,可是*a的值能够通过其它的途径改动,其一为:
    	b = 600;//如今*a的值为600
    	cout << *a << endl;
    	其二为:
    	int c = 600;
    	a = &c;//如今*a的值为600
    	cout << *a << endl;
    	这样的情况能够先不进行初始化

    另外一种情况和第一种情况一样。

    第三种情况为指针本身为常量,这样的情况下不能对指针本身进行更改操作,而指针所指向的内容不是常量,这样的情况必须初始化。

    //int *const a; 错误,必须初始化
    	int b = 500, c = 600;
    	int *const a = &b;
    	*a = 600;
    	//cout << a++ << endl;错误

    第四种情况为指针本身和指向的内容均为常量。


    //=============================================================================================================================

    再看看const成员函数:

    可在不改变对象的成员函数的函数原型中加上const;

    class Point
    {
    	int xVal, yVal;
    public:
    	int GetY() const;
    };
    int Point::GetY() const
    {
    	return yVal;
    }

    假设const放在函的申报数量前,意味着返回功能值它是一个常数。


    版权声明:本文博客原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    C#版排序之交换排序
    AndroidSQLite(一)
    oracle日期处理完整版
    B+树查询上下级(sql实现)
    PHP写的几个基础算法 (转载)
    FLEX程序设计正则表达式
    SQL*PLUS命令的使用大全
    oracle常用sql语句语法
    PHP.ini配置文件(转载)
    string扩展实现强悍的.Net不可逆加密方法 (转载)
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4613758.html
Copyright © 2011-2022 走看看