社区
工具平台和程序库
帖子详情
从string到string &
startlive
2008-03-04 10:57:53
定义一个函数f( string & )
然后调用f( string( "AAAAAAA" ) )
在vc中是对的,可是在dev c++中却错啦,为什么呀。
...全文
158
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
类中常见操作及其模拟实现
1.
string
容器的基本概念 c语言风格字符串太过复杂难于掌握,不适合大程序的开发 2.
string
容器的常用操作
string
的构造函数
string
();//创建一个空的字符串例如:
string
str;
string
(const
string
&str)//使用一个
string
对象去初始化另外一个
string
对象
string
(const char*str)//使用字符串s初始化
string
(int n,char c)//使
String
&&
String
Builder
String
拼接字符串每拼接一次都会产生一个新的字符串对象,如果拼接次数多了,太占用内存了,而且效率比较低,所以我们要学
String
Builder来拼接字符串
String
Builder的特点:a.
String
Builder底层是一个没有被final修饰的byte数组,数组的地址值可以改变的b.
String
Builder底层默认自带长度为16的缓冲区(数组),字符串拼接之后会自动放到这个缓冲区中,不会随意产生新对象。
[Rust进阶篇]-Rust之&str与
String
比较及转换方法使用总结
1.&str与
String
区别 1) &str类型是Rust语言的原生类型,它指向分配在某处的
String
的一个*固定*容量,这里又分为2类: a 如果&str指向的是
String
类型,由于
String
创建于堆区,则&str指向堆。 b 如果&str指向的是字面量字符串(&str),则&str指向的是静态区内存。 2) Rust中,字符串(&str和
String
)Unicode 标量值的序列编码为 utf - 8 字节的流 3) &
将const std ::
string
&作为参数传递的日子已经过去了吗?
I heard a recent talk by Herb Sutter who suggested that the reasons to pass std::vector and std::st
将map对象参数转换成
String
=
String
&方式
* 将map对象参数转换成
String
=
String
&方式 * @param params * @param charset * @return * @throws UnsupportedEncodingException */ public static
String
generateParams(Map<St...
工具平台和程序库
24,860
社区成员
27,332
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章