精华内容
下载资源
问答
  • 在类中 只有静态变量赋值 如果你不赋值 编译器会认为你这个变量根本没用 不能被修改 又没有初始值 两个办法 在构造函数的初始化列表赋值 或者在const前面加一个static
  • const变量赋值原则

    千次阅读 2017-11-20 20:19:57
    // error 非const地址无法赋值给const 指针 const int temp_1 = 4; int temp_2 = 9; const int *pt_1; int *pt_2; pt_1 = &temp_1; pt_2 = &temp_1;//error const数据地址无法赋值给非co
    一、关于指向const的指针
    const int **p1;
    	int *p2;
    	p1 = &p2; //  error 非const地址无法赋值给const 指针
    
    	const int temp_1 = 4;
    	int temp_2 = 9; 
    	const int *pt_1;
    	int *pt_2;
    
    	pt_1 = &temp_1;
    	pt_2 = &temp_1;//error const数据地址无法赋值给非const指针, 防止通过非const指针修改const数据
    	pt_1 = &temp_2;
    	pt_1 = &temp_1;


    总结:

    1.const指针可以指向const和非const数据。

    2.非const指针不可以指向consts数据。

    核心思想:防止const 数据被通过指针被间接修改。

    展开全文
  • Qt方法const变量赋值

    2013-12-25 10:11:00
    引用“http://www.cnblogs.com/Mr-xu/archive/2012/08/07/2626973.html”voidCMainWindow::showMsg(QString &text) ...voidCMainWindow::showMsg(const QString &text) 那么,showMsg("...
    引用“http://www.cnblogs.com/Mr-xu/archive/2012/08/07/2626973.html”

    voidCMainWindow::showMsg(QString &text)
    那么,showMsg("test");  // 错误

    voidCMainWindow::showMsg(const QString &text)
    那么,showMsg("test");  // 正确

    【例4】:假设有如下函数声明:
    string foo( );
    void bar(string & s);
      那么下面的表达式将是非法的:
    bar(foo( ));
    bar("hello world");
      原因在于foo( )和"hello world"串都会产生一个临时对象,而在C++中,这些临时对象都是const类型的。因此上面的表达式就是试图将一个const类型的对象转换为非const类型,这是非法的。

    转载于:https://www.cnblogs.com/ftrako/p/3490092.html

    展开全文
  • 【01】非const变量不能给const变量赋值(注意是赋值,不是初始化。非const变量是可以const变量初始化的) 【01-举例】如在函数中 int reCont(const int iConNm) { return iConNm; } 【01-使用】 在使用...

    【01】非const变量不能给const变量赋值(注意是赋值,不是初始化。非const变量是可以给const变量初始化的)

            【01-举例】如在函数中

               int reCont(const int iConNm)

               {

                      return iConNm;

               }

       【01-使用】 在使用的这个接口时,完全可以使用,如下:

          int b = 100;

          const int c = reCont(b);//此有两处对const变量以非const变量进行初始化。

         就这么点小k子,无需更多言与语,就此拂衣了事吧。

    展开全文
  • c++中const成员变量赋值问题

    千次阅读 2014-06-13 20:11:49
    在头文件的类的定义中定义了一个const成员变量c++ 规则: 1、类定义中不能进行初始化,因为头文件中类的定义只是一个声明,并没有分配真正空间,因此变量是不存在的,因此是不能...2、将const变量同时声明为 static
    在头文件的类的定义中定义了一个const成员变量c++ 规则:
    1、类定义中不能进行初始化,因为头文件中类的定义只是一个声明,并没有分配真正空间,因此变量是不存在的,因此是不能赋值的。
    2、const 定义的变量是不能赋值
    这可如何是好,声明中不能赋值,声明完还不能赋值。又不能不赋值。
    解决方案:
    1、在构造函数后的参数初始化列表中初始化
    2、将const变量同时声明为 static 类型进行初始化。

    #include <iostream>
    
    class CTestA
    {
    
    public:
    
    CTestA():m_iSIZE(20)                  // method 1
    {
    }
    
    ~CTestA()
    {
    }
    
    int GetSize()
    {
    return m_iSIZE;
    }
    
    private:
    const int m_iSIZE;
    };
    
    class CTestB
    {
    public:
    CTestB()
    {
    }
    
    ~CTestB()
    {
    
    
    }
    
    int GetSize()
    {
    return m_iSIZE;
    }
    
    private:
    static const int m_iSIZE;//这里也可以=3
    };
    const int CTestB::m_iSIZE = 3;              // method 2
    
    int main()
    {
    CTestA oTestA;
    CTestB oTestB;
    
    std::cout<<"oTestA:"<<oTestA.GetSize()<<std::endl<<"oTestB:"<<oTestB.GetSize()<<std::endl;
    return 0;
    }
    
    转自:http://blog.sina.com.cn/s/blog_6e7fed390100xpu3.html
    

    展开全文
  • const初始化能赋值,初始化完事儿,就不能赋值了,我居然才搞清这个问题、、、 #include #include std::vector array(50); const int value = 50; int main() { array[10] = value; const std::vector::...
  • 今天看到一道笔试题 有以下表达式:int a = 248,b = 4;int const c = 21;const int *d = &...是错误的,const修饰的是指针d所指向的变量,所以应该赋值constint类型,int const *const f = &a; ...
  • //使用const命名 重新赋值会报错(常量变量赋值) 因为const命名为常量 //定义一个对象时 let obj = { user:'1', name:'2' }; const obj2 = { user:'3', name:'4' }; obj2.name = 5; obj = 6; ...
  • 在头文件的类的定义中定义了一个const成员变量c++ 规则: ...2、将const变量同时声明为 static 类型进行初始化。 Eg: #include class CTestA { public: CTestA():m_iSIZE(20) // method 1 { } ~CT
  • C++中const变量的修改与赋值

    千次阅读 2021-02-27 20:35:57
    title: C++中const变量的修改与赋值 date: 2021-02-25 20:26:16 description: C++中const变量的修改与赋值  出于避免对数据的无意修改的需求,C及C++语言引入了const关键字。与C语言中的const相比,C++中的const...
  • const与非const类型赋值问题

    万次阅读 多人点赞 2017-11-24 14:18:14
    const与非const之间,相互赋值时,如果使用不当,...关于这个问题,网上有说”非const变量给const变量,是非法的“。请不要陷入这种容易混乱的逻辑。 上述情况,比较正确的解释。const int 在初始化之后,是不能再改
  • const在C语言中是表示道义上保证变量的值不会被修改,并不能实际阻止修改,通过指针可以修改常变量的值,但是会出现一些不可知的结果。几种情况不同,我们一个一个来看。 1、直接赋值 cons
  • const变量初始化、数组大小用const变量细节、const变量与#define宏、volatile修饰
  • 在这里只谈一谈对const变量与普通变量相互赋值的理解; 首先,对于cons变量和普通变量直接可以互相初始化,没有问题!   const int a=10; int b=a; int d=10; const int c=d; 然后,const 变量的引用于指针...
  • c++ 类中const成员变量赋值

    千次阅读 2015-03-31 10:16:01
    在头文件的类的定义中定义了一个const成员变量c++ 规则: 1、类定义中不能进行初始化,因为头文件中类的定义只是一个声明,并没有分配真正空间,因此变量是不存在的,因此是不能...2、将const变量同时声明为 static
  • 类的const成员赋值

    2018-08-07 18:05:04
    原因:因为常量只能初始化,不能赋值,所以不能在构造函数中为它赋值,(相当于到达构造函数体内时,成员变量已经初始化完了,就相当于不能给const变量改值一样) class A { public: A(int b) :a(b) {} const ...
  • C语言中的const变量初始化

    千次阅读 2015-03-27 08:55:23
    C语言中的const变量在定义时必须初始化,如 const int a=1; 以后可以这个const变量赋值,如 a=2; 但其值将不发生改变,一直都是初始化的值 。
  • C++ 类中const成员变量赋值

    千次阅读 2012-04-10 16:05:12
    在头文件的类的定义中定义了一个const成员变量 C++ 规则: 1、类定义中不能进行初始化,因为头文件中类的定义只是一个声明,并没有分配真正空间,因此变量是不存在的,因此是不能...2、将const变量同时声明为 stati
  • const变量

    千次阅读 2012-03-24 21:58:35
    今天我们主要来说说const变量,const的使用是c语言中一个比较微妙的地方。 首先是const变量定义的方式,它有两种定义方式 第一种定义方式 const在类型的前面 const int var = 100; 第二种定义的方式 const在...
  • 就是.h中的const变量声明时不赋值(不初始化),然后在包含他的.c文件中赋值
  • const定义变量时可以不赋值吗? 请问const定义变量的同时可以不赋值吗?
  • 目录1 C++const变量与引用综述1.1 常变量1.2 引用2 常变量与非常变量间的赋值3 参考文献 1 C++const变量与引用综述 1.1 常变量   const变量也叫只读变量,常变量在程序运行期间不能改变...
  • C++中static变量赋值和返回

    千次阅读 2013-08-19 19:26:48
    #include class Point { public: static int temp ; int output() { return temp; } void init() { } }; //这样赋值 int Point::temp = 30;

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 235,532
精华内容 94,212
关键字:

给const变量赋值