社区
C++ 语言
帖子详情
参数是const函数?
Primer__
2014-07-31 09:28:28
《C++Primer》第四版
7.2.1 非引用形参
1.指针形参
如须要保护指针指向的值,则形参须定义为指向const对象的指针。
-------
问题:
1.
void use_ptr(const int *p)
{ }
上面函数,参数是const,怎么调用。
给个实例!
...全文
145
3
打赏
收藏
参数是const函数?
《C++Primer》第四版 7.2.1 非引用形参 1.指针形参 如须要保护指针指向的值,则形参须定义为指向const对象的指针。 ------- 问题: 1. void use_ptr(const int *p) { } 上面函数,参数是const,怎么调用。 给个实例!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiaohuh421
2014-08-01
打赏
举报
回复
int value = 0; use_ptr( &value) ;
bear234
2014-07-31
打赏
举报
回复
void use_ptr(const int *p) { cout<<*p; // correct *p = 1; // error because p is const } const pointer means you CANT change the value which is pointed by this pointer
蠓虫带着秤砣飞
2014-07-31
打赏
举报
回复
是修饰符。意思是传进来的参数不可修改。 用法和没有const的一样。
C++拷贝构造
函数
的
参数
必须带有
const
吗?
在这种情况下,拷贝构造
函数
的
参数
是一个非
const
引用。这种形式可能会导致在拷贝构造
函数
中修改传入的对象,但这并不是一个好的实践。因为在拷贝构造
函数
中修改传入的对象可能会导致未定义的行为或意外的副作用。因此,通常推荐使用带有
const
修饰符的拷贝构造
函数
参数
。在C++中,拷贝构造
函数
的
参数
并不必须带有
const
修饰符。拷贝构造
函数
用于创建一个新对象,并将其初始化为另一个已存在的对象的副本。这种形式通常更为常见,因为它可以确保在拷贝构造
函数
中不会修改传入的对象。在这个例子中,拷贝构造
函数
的
参数
是。
const
函数
参数
、成员
函数
限制
总结:
const
修饰的变量、
函数
,都不能修改其所在对象相关的内容,包括其成员变量中的内容。 1、
const
函数
参数
: class Base { public: void test() { std::cout<< " test in base\n"; } }; void MyTest(
const
Base& b) { b.test(); // 这里编译报错,
const
对象调用非
const
成员
函数
。 } 原因:
const
对象,只能
【C++】拷贝构造
函数
中的形参是
const
引用类型的,为何需要引用且为
const
引用?
根本原因 在c++中,传值时就是形参是实参的一份拷贝,传引用时形参和实参是一个东西。 直接原因 由于(根本原因)形参是实参的一份拷贝,如果直接传递值给拷贝构造
函数
而不是传引用,那么形参对象会拷贝实参对象,这个拷贝过程又调用拷贝构造
函数
(第二次),在第二次调用拷贝构造
函数
时,形参对象继续拷贝实参对象,继续调用拷贝构造
函数
(第三次)…陷入死循环。 因此需要传引用给拷贝构造
函数
。 为何需要
const
引用? 在这里没有太复杂的原因,就是为了表明拷贝构造
函数
中没有对传递进来的对象做任何修改,也是防止拷贝构造
函数
对对象
C++:
const
成员
函数
的使用细则
const
修饰类的成员
函数
将
const
修饰的类成员
函数
称之为
const
成员
函数
,
const
修饰类成员
函数
,实际修饰该成员
函数
隐含的this 指针,表明在该成员
函数
中不能对类的任何成员进行修改。 请思考下面的几个问题:
const
对象可以调用非
const
成员
函数
吗? 非
const
对象可以调用
const
成员
函数
吗?
const
成员
函数
内可以调用其它的非
const
成员
函数
吗? 非
const
成员
函数
...
C语言
const
修饰
函数
参数
- C语言零基础入门教程
C语言
const
修饰
函数
参数
- C语言零基础入门教程 目录 一.
const
简介 1.
const
修饰变量 2.
const
修饰指针 3.
const
修饰在
函数
名前面 4.
const
修饰在
函数
名后面 二.
const
修饰
函数
参数
1.值传递 2.址传递 3.
const
修饰
函数
参数
三.猜你喜欢 零基础 C/C++ 学习路线推荐 :C/C++ 学习目录>>C 语言基础入门 一.
const
简介
const
是
const
ant 的缩...
C++ 语言
65,212
社区成员
250,516
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章