首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一个const成员函数,返回一个指向非const成员变量的指针,为什么它会好?

首先,让我们澄清这个 const 成员函数返回一个指向非 const 成员变量的指针的概念。在 C++ 中,const 成员函数可以访问和修改类的非 const 成员变量,因为它们是同一类别的对象,而 const 成员变量是只读的,不能直接修改它们的值。

因此,当 const 成员函数返回一个指向非 const 成员变量的指针时,这意味着该指针所指向的对象可以被该函数修改,这违反了指针和对象所持有的数据的 const 限制。

但是,如果该指针所指向的对象不是该函数内部创建的,而是在该函数外部创建的,并且该对象是 const 的,那么该函数可以返回该对象的指针,因为该指针所指向的对象不是该函数内部创建的,而是外部创建的,该对象是 const 的,该函数不能修改该对象,也不能修改该指针所指向的对象。

因此,当 const 成员函数返回一个指向非 const 成员变量的指针时,如果该指针所指向的对象是该函数内部创建的,那么该函数违反了 const 限制,如果该指针所指向的对象不是该函数内部创建的,那么该函数不违反 const 限制。

相关搜索:C++:如何返回指向非静态成员函数的指针?为什么我不能在类中有一个非整数的静态const成员?如何通过指向另一个成员函数的指针传递模板成员函数?如何使用'auto‘声明一个指向重载成员函数的指针?如何static_cast一个指向常量成员函数的指针?为什么重新分配一个指向const int的指针不会产生编译错误?使用指向成员函数的指针在另一个类中调用类构造函数如何创建一个指向函数的函数指针,并在IR代码中返回它?具有成员函数的两个类从另一个类获取指向对象的指针指向不存在的结构的指针作为另一个结构中的成员变量是什么意思?为什么我得到错误“const fn中的函数指针不稳定”,但它消失时,包装在一个新的类型?为什么我的函数不能调整指针的内容,除非我返回一个来赋值它为什么这个常量自动变量在为一个类的常量成员函数编译的range-for循环中?Embedded C:如果指向成员的指针是由同一文件中的fn传递的,我是否可以将静态结构的成员传递给另一个文件中的函数Prdct是指向结构变量项地址的指针。为什么我们再次使用&运算符?它已经是一个地址了为什么我需要让这个非友元==操作符重载一个成员函数,以避免“未定义的引用”错误?为什么定义一个带有非const常量的operand<函数的结构会破坏一些东西,如果您将它用作映射中的键呢?为什么要将一个数组作为一个实际的参数发送给函数,它需要一个指向数组的指针,需要两次取消引用才能访问该数组?我需要我的数组返回并数组回到另一个变量,同时还包括它以前的数组成员,我不知道如何处理它
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券