社区
新手乐园
帖子详情
再讨论const int foo()的意思
winner8080
2007-04-06 11:45:55
const char &foo()
到底是可以让const对象调用, 而const对象也只能调const函数
还是
const表示不能修改返回的char&
还是二者兼有
谢谢了
...全文
304
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
*有什么区别?
我总是搞砸了如何正确使用
const
int
* ,
const
int
*
const
和
int
const
* 。 是否有一组规则定义您可以做什么和不能做什么? 我想知道在分配,传递给函数等
const
int
*、
const
int
*
const
和
int
*
const
之间的区别是什么?
解释:
int
* - 指向
int
的指针
int
const
* - 指向
const
int
的指针
int
*
const
- 指向
int
的
const
指针
int
const
*
const
- 指向
const
int
的
const
指针 现在,第一个
const
可以在类型的任一侧:
const
...
const
int
& 和
int
的区别
最近看函数的返回值时总是出现这两种函数的返回值。
const
int
& get() {return x;}
int
get() {return x;...下面就关于这两种函数的返回值做一个小的笔记。...1.
int
是进行拷贝构造,而
const
int
& 是返回的引用
int
const
* 、
const
int
*、
int
*
const
、
const
char **与char **
一.
int
const
* 与
const
int
*一样,
const
修饰
int
,表示指针指向常量
int
int
*
const
:
const
修饰指针,表示指针是常量 二.类型相容:左操作数所指向的类型具有右操作数所指向类型的限定符(
const
),再加上...
class中static
const
int
的使用
传统认识我们都知道,对于class 中static
const
int
的变量,可以在类中进行初始化,并省去外部的定义,向下面的这种方式;此时,编译,执行均是正确的。class test { static
const
int
tmp_
int
= 1; public: ...
新手乐园
33,317
社区成员
41,771
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章