社区
新手乐园
帖子详情
再讨论const int foo()的意思
winner8080
2007-04-06 11:45:55
const char &foo()
到底是可以让const对象调用, 而const对象也只能调const函数
还是
const表示不能修改返回的char&
还是二者兼有
谢谢了
...全文
317
4
打赏
收藏
再讨论const int foo()的意思
const char &foo() 到底是可以让const对象调用, 而const对象也只能调const函数 还是 const表示不能修改返回的char& 还是二者兼有 谢谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yutaooo
2007-04-06
打赏
举报
回复
这个问题,不要孤立的在非成员函数中讨论。因为,在普通函数中这样用是错误的。
在类中的例子:
class A {
public:
const char & foo() const;
private:
char value_;
}
void main() {
A a;
A.foo() = 't'; // 这就不行。这主要是因为,前一个const,指定了返回的引用的对象不可
// 修改。
}
后一个const 对一个非成员函数无意义,对非成员函数是不能这样使用的。这也就是说,它只使用在成员函数上。我想,你的第一个问题指的是这个。它说明this指针有一个const修饰。
chenyu2202863
2007-04-06
打赏
举报
回复
返回const引用
0黄瓜0
2007-04-06
打赏
举报
回复
const char &foo()
const表示不能修改返回的char&
char& foo()const
让const对象调用.
其实非const对象也可以调用(非const对象可以转化为const对象).
所以这个const保证了foo不会修改到调用它对象.
hellox
2007-04-06
打赏
举报
回复
去看看effective c++ 21条..
const
int
*,
const
int
*
const
和
int
const
*有什么区别?
本文详细解释了C++中
const
关键字在指针声明中的不同用法,包括
const
int
*、
const
int
*
const
和
int
const
*,并提供了理解这些声明的规则。文章通过例子展示了如何从右到左阅读指针声明,以确定
const
修饰的是指针本身还是指针所指向的值。
讨论
了
const
关键字对于保护指针所指向的值不变以及保护指针本身不改变的重要性,并提醒读者在使用
const
时遵循最佳实践。
static、
const
和static
const
以及它们的初始化
本文详细解释了C++中
const
和static的区别,包括它们如何在类中使用,以及如何正确地进行初始化。重点
讨论
了
const
成员、static成员、static
const
成员和
const
static成员的特点和初始化方式。
leetcode报错:non-
const
lvalue reference to type ‘
int
‘ cannot bind to a temporary of type ‘
int
‘
文章
讨论
了在LeetCode230题中遇到的错误,涉及到C++中非
const
左值引用与临时对象的绑定问题。通过实例说明并提出将count变量设为全局变量的方法来解决此问题。
const
char*, char
const
*, char*
const
的区别
本文详细解析了C++中
const
char*, char
const
* 和 char*
const
的区别,并通过实例演示了如何理解这些复杂的指针声明。同时,还
讨论
了一道Google笔试题的相关答案,帮助读者更好地掌握C++指针的概念。
__
int
64在c语言中是不是关键字,C语言中的关键字
本文详细解读C语言中的32个关键字,包括数据类型、控制语句、存储类型和其他类别,重点介绍了auto、extern、register和static等存储类型的关键字及其在程序中的作用。此外,还
讨论
了
const
、sizeof、typedef和volatile等关键字的用法和注意事项。
新手乐园
33,316
社区成员
41,771
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章