社区
C++ 语言
帖子详情
c++ 指针高手赐教(来自 <> )
yuyuancheng
2007-05-02 10:37:56
template <typename T>
inline T* const& max (T* const& a,T* const& b)
{
return *a < *b ? b : a;
}//来自 <<C++ templates>> 第17页
上面模板中的返回类型及参数类型 既有 引用 又有 指针,(T* const& a)
这样做有什么好处?
...全文
361
15
打赏
收藏
c++ 指针高手赐教(来自 <> )
template inline T* const& max (T* const& a,T* const& b) { return *a < *b ? b : a; }//来自 <> 第17页 上面模板中的返回类型及参数类型 既有 引用 又有 指针,(T* const& a) 这样做有什么好处?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Obsidianhom
2007-05-03
打赏
举报
回复
提高效率,用const防止传入参数被修改,指针是传地址,不用复制一份传入参数的副本,而值传送要复制参数副本,所以可以提高效率
0黄瓜0
2007-05-03
打赏
举报
回复
加上那个const的好处:
明确告诉函数的调用者,我这个函数的指针虽然是实参指针的引用,但函数不会修改它的指向,同时会修改它指向的内容,调用者有个明确的逻辑概念.
明确告诉函数的编写者,这个函数在逻辑上不会修改实参指针的指向,同时会修改它指向的内容,如果编写者不小心修改了指针的指向,编译时会报错.
那个const不加也是可以的,函数的功能也不会爱影响.但没有上面两条好处.
返回值加const也是同样的道理.
0黄瓜0
2007-05-02
打赏
举报
回复
T* const& a
表示函数中的指针就是外面的实参,且指向不变,指向的内存内容可变.
believefym
2007-05-02
打赏
举报
回复
上面两个函数调用反了,呵呵
believefym
2007-05-02
打赏
举报
回复
class T
{
public:
int data;
};
void f(T const&t1,T const&t2)
{
//t1 = t2;//illegal
cout<<t1.data<<"\t"<<t2.data;
}
f(&t1,&t2);
-------------------------------
void f(T* const&t1,T* const&t2)
{
//t1 = t2;//illegal
cout<<t1->data<<"\t"<<t2->data;
}
f(t1,t2);
believefym
2007-05-02
打赏
举报
回复
a、b不可变
yuyuancheng
2007-05-02
打赏
举报
回复
那么const后面的引用呢?
monkeywuming
2007-05-02
打赏
举报
回复
T表示类型,而T*当然就是T类型指针~ ~~至于好处当然就是指针的好处
int 定义int结构
int* 可以用来指向各种int的结构
至于const是修饰符,在此处起的作用是:可以防止所修饰的对象不被修改!
jackmtlee
2007-05-02
打赏
举报
回复
防止函数产生副本,影响程序性能,尤其是对象较大,或是有递归函数调用的时候更应该这样做.
logo0775
2007-05-02
打赏
举报
回复
人们吃饭又有什么好处?浪费钱.浪费青春,浪费精力,浪费电,浪费水,浪费.........
晨星
2007-05-02
打赏
举报
回复
其实都差不多,可以有引用到int的引用类型,同样也可以的有引用到指针类型的引用类型。
晨星
2007-05-02
打赏
举报
回复
指针的引用就是指针的引用,为什么一定要问“有什么好处”?
那整数做参数时又有什么好处?为什么有时候人们用整数作参数?
yuyuancheng
2007-05-02
打赏
举报
回复
那样做有什么好处?
珍惜生命远离CPP
2007-05-02
打赏
举报
回复
指针的引用啊
ff5dq4
2007-05-02
打赏
举报
回复
返回一个const的指针变量引用的
python input 数字_python获取从命令行输入数字的方法
#----------------------------------------# Name: numerical_input.py# Author: Kevin Harris# Last Modified: 02/13/04# Description: This Python script demonstrates# how to get numerical...
python 循环语句while的使用——两种方法输出用户输入的数字
# _*_ coding: UTF-8 _*_ import sys def method1 (): '''命令行输入python 文件名 参数1 参数2...参数n''' num = len(sys.argv) while num print method1.__doc__ break else:
py 控制台输入参数
来获取脚本的文件名(这通常是程序的名称)。在上面的示例中,如果提供的参数数量不正确,它将打印出用法信息。函数返回的是一个字符串,如果你需要将其作为数字或其他类型使用,你可能需要使用。然后,它将尝试将这个字符串转换为整数,并将结果存储在。这段代码将从命令行参数中获取两个值,并将第一个值存储在。另外,如果你想从命令行参数中获取输入,可以使用。这段代码将提示用户输入一些文字,并将其存储在。这段代码将提示用户输入一个数字,并将其存储在。然后,它将打印出用户输入的内容。最后,它将打印出转换后的数字。
python3中input输入浅谈_python3中sys.stdin与input的区别
1、input()方法和stdin()类似,不同的是input()括号内可以直接填写说明文字。可以看一个简单的例子:while True:n = int(input('Please input a number:\n'))sn = list(map(int,input('Please input some numbers:\n').split()))print(n)print(sn,'\n')输出...
python中输入数字函数_python中如何input输入为数字?
在python中想要输入的数字,但是可能会出现输入为1,显示为‘1’,得到的并不是数字字符的情况。要想要input输入为数字,可使用eval()函数或使用int()转换。方法一:使用eval()函数,输入的持续为数字definputInt(content='请输入整数:'):whileTrue:data=input(content)try:inputData=eval(data)if...
C++ 语言
65,213
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章