社区
工具平台和程序库
帖子详情
从string到string &
startlive
2008-03-04 10:57:53
定义一个函数f( string & )
然后调用f( string( "AAAAAAA" ) )
在vc中是对的,可是在dev c++中却错啦,为什么呀。
...全文
149
11
打赏
收藏
从string到string &
定义一个函数f( string & ) 然后调用f( string( "AAAAAAA" ) ) 在vc中是对的,可是在dev c++中却错啦,为什么呀。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
NKLoveRene
2008-03-06
打赏
举报
回复
是const的
sheenl
2008-03-06
打赏
举报
回复
因为vc不支持标准c++
abupie
2008-03-06
打赏
举报
回复
[Quote=引用 2 楼 jixingzhong 的回复:]
f( const string & )
[/Quote]
正解
xalangying
2008-03-06
打赏
举报
回复
不应该把临时变量string( "AAAAAAA" )传递给引用参数,改为f( const string & ) 就行了
p0303230
2008-03-06
打赏
举报
回复
[Quote=引用 2 楼 jixingzhong 的回复:]
f( const string & )
[/Quote]
“AAAAAAA”是常量,所以要const
jixingzhong
2008-03-06
打赏
举报
回复
f( const string & )
startlive
2008-03-06
打赏
举报
回复
哦,原来如此。谢谢大家拉。
dubiousway
2008-03-06
打赏
举报
回复
post your program
abupie
2008-03-06
打赏
举报
回复
除了刚刚说的const修饰符修饰函数的传递参数的作用和用法,
这里还涉及另一个问题: 临时变量到底是不是常量?
对于f( string( "AAAAAAA" ) ) , 编译器必须建立临时对象string("AAAA"), 临时对象是需要存储空间而且必须被构造和删除(和普通变量的区别是我们看不到这些, 是编译器负责决定它们的去留以及它们存在的细节)。
对于C++标准草案而言:临时对象自动地成为常量。
结合前面说的const修饰符修饰函数的传递参数, 所以C++标准中要求临时变量增加const修饰.
abupie
2008-03-06
打赏
举报
回复
[Quote=引用 8 楼 startlive 的回复:]
要加const,是不是说明零时变量是不可更改的?
还是这个const有其它的意义?
[/Quote]
const修饰符修饰函数的传递参数,格式如下:
void Fun(const int Var);
告诉编译器Var在函数体中的无法改变,从而防止了使用者的一些无意的或错误的修改。
startlive
2008-03-06
打赏
举报
回复
要加const,是不是说明零时变量是不可更改的?
还是这个const有其它的意义?
String
&&
String
Builder
String
拼接字符串每拼接一次都会产生一个新的字符串对象,如果拼接次数多了,太占用内存了,而且效率比较低,所以我们要学
String
Builder来拼接字符串
String
Builder的特点:a.
String
Builder底层是一个没有被final修饰的byte数组,数组的地址值可以改变的b.
String
Builder底层默认自带长度为16的缓冲区(数组),字符串拼接之后会自动放到这个缓冲区中,不会随意产生新对象。
string
字符串拼接
1.用法说明:实现字符串末尾拼接字符串。 2.函数原型
string
&operator+=(const char *str); //重载+=操作符
string
&operator+=(const char c); //重载+=操作符
string
&operator+=(const
string
&str); //重载+=操作符
string
&append(const char *s); //把字符串s连接到当前字符串结尾
string
&am...
十一、List初始化时“new ArrayList<
String
>()”和“new LinkedList<
String
>()”使用场景
(一)List两种初始化方式 //方式一 List<
String
> myList = new ArrayList<
String
>(); //方式二 List<
String
> myList = new LinkedList<
String
>(); (二)List两种初始化方式的区别及其使用场景 List<
String
> myL...
第二章 字符串
String
& 数组 & 数据类型
文章目录(一)说说Java中的8大基本类型 & 内存中占有的字节 & 什么是引用类型?(二)什么是拆箱 & 装箱,能给我举栗子吗?(三)知道float和double类型为什么会出现精度丢失的情况吗?(四)基本类型的初始化值为多少?引用类型的初始值为多少?答案解析 (一)说说Java中的8大基本类型 & 内存中占有的字节 & 什么是引用类型? (二)什么是拆箱...
List
String,
String
>> 转 Map<
String
, List<
String
>>
将List转成Map结构,以下为没有水平的写法! 好久之前写的土方法转换,不知道有没有优秀的解法,还希望大家提供! Map<
String
,
String
> map1 = new HashMap<
String
,
String
>(); map1.put("a", "1"); map1.put("b", "3"); map1.put("c", "
工具平台和程序库
24,860
社区成员
27,333
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章