社区
新手乐园
帖子详情
再讨论const int foo()的意思
winner8080
2007-04-06 11:45:55
const char &foo()
到底是可以让const对象调用, 而const对象也只能调const函数
还是
const表示不能修改返回的char&
还是二者兼有
谢谢了
...全文
284
4
打赏
收藏
再讨论const int foo()的意思
const char &foo() 到底是可以让const对象调用, 而const对象也只能调const函数 还是 const表示不能修改返回的char& 还是二者兼有 谢谢了
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
之间的区别是什么?
是一个指向常量整数的可变指针。这允许你更改指向的内容,但不能更改指向的值。通常在 C 风格字符串中看到这种情况,其中有一个指向。你可以更改指向的字符串,但不能更改这些字符串的内容。当字符串本身位于程序的数据段中且不应被更改时,这一点很重要。是一个指向可以更改的值的常量或固定指针。这就像一个没有额外语法糖的引用。由于这一事实,通常你会使用引用而不是。这样的工具自动将声明转换为散文。如果你不确定,可以使用像。指针,除非你需要允许。
const
int
& 和
int
的区别
最近看函数的返回值时总是出现这两种函数的返回值。
const
int
& get() {return x;}
int
get() {return x;} 下面就关于这两种函数的返回值做一个小的笔记。
const
int
& 是返回这个数值的一个常量的引用。 而
int
是返回这个数值的一个拷贝。 1.
int
是进行拷贝构造,而
const
int
& 是返回的引用
int
const
* 、
const
int
*、
int
*
const
、
const
char **与char **
一.
int
const
* 与
const
int
*一样,
const
修饰
int
,表示指针指向常量
int
int
*
const
:
const
修饰指针,表示指针是常量 二.类型相容:左操作数所指向的类型具有右操作数所指向类型的限定符(
const
),再加上自身的限定符 1,
const
char * p1 与 char * p2 p1=p2 是合法的, 2.
const
c
class中static
const
int
的使用
传统认识我们都知道,对于class 中static
const
int
的变量,可以在类中进行初始化,并省去外部的定义,向下面的这种方式;此时,编译,执行均是正确的。class test { static
const
int
tmp_
int
= 1; public: void pr
int
() { pr
int
f("%d", tmp_
int
); //
foo
(tmp_
int
);
新手乐园
33,321
社区成员
41,774
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章