社区
C++ 语言
帖子详情
一个关于string类赋值问题
fbusybox
2008-06-19 11:25:18
请教一个关于string类赋值问题:
std::string strTemp;
strTemp = std::string(begin_point, end_point);
觉得这种赋值方式乖乖的, 应该是定义一个对象然后赋值给strTemp才比较合法.
因为构造函数没有返回值的,std::string(begin_point, end_point)不像是初始化了一个类的对象,像是调用了构造函数.
欢迎各位Cpluspus牛人指教!
...全文
136
9
打赏
收藏
一个关于string类赋值问题
请教一个关于string类赋值问题: std::string strTemp; strTemp = std::string(begin_point, end_point); 觉得这种赋值方式乖乖的, 应该是定义一个对象然后赋值给strTemp才比较合法. 因为构造函数没有返回值的,std::string(begin_point, end_point)不像是初始化了一个类的对象,像是调用了构造函数. 欢迎各位Cpluspus牛人指教!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fbusybox
2008-06-22
打赏
举报
回复
[Quote=引用 7 楼 handsomezwm 的回复:]
个人认为里面的begin_point ,end_point 应该是两个迭代器;
举个例子来说明:
string s1("nihao,beijing");
string::iterator begin_point=s1.begin(),end_point=s1.end();
string s2(begin_point,end_point);
cout < <s2 < <endl;
结果是:nihao,beijing
[/Quote]
That's right.
fbusybox
2008-06-22
打赏
举报
回复
Renew:
其实这种方式很常见的,特别是在ostream_iterator中常用到,另外当for/while等loop时也需要该种方式.
strTemp = std::string(begin_point, end_point);
实例化某个类,或模板类.
handsomezwm
2008-06-21
打赏
举报
回复
个人认为里面的begin_point ,end_point 应该是两个迭代器;
举个例子来说明:
string s1("nihao,beijing");
string::iterator begin_point=s1.begin(),end_point=s1.end();
string s2(begin_point,end_point);
cout<<s2<<endl;
结果是:nihao,beijing
jieao111
2008-06-20
打赏
举报
回复
是的,你在哪看的代码
晨星
2008-06-20
打赏
举报
回复
为啥不直接这样?
std::string strTemp(begin_point, end_point);
qmm161
2008-06-20
打赏
举报
回复
2楼的写法比较简单吧,如果是你那种写法的话,先调用构造函数创建一个临时对象,然后再赋值
fbusybox
2008-06-20
打赏
举报
回复
[Quote=引用 2 楼 steedhorse 的回复:]
为啥不直接这样?
std::string strTemp(begin_point, end_point);
[/Quote]
有道理...
的确有点多次一举了,不过从中可以学到cplusplus 某方面知识
leehq
2008-06-20
打赏
举报
回复
[Quote=引用楼主 fbusybox 的帖子:]
请教一个关于string类赋值问题:
std::string strTemp;
strTemp = std::string(begin_point, end_point);
觉得这种赋值方式乖乖的, 应该是定义一个对象然后赋值给strTemp才比较合法.
因为构造函数没有返回值的,std::string(begin_point, end_point)不像是初始化了一个类的对象,像是调用了构造函数.
欢迎各位Cpluspus牛人指教!
[/Quote]
的确有点脱裤子放屁的感觉···
HelloDan
2008-06-19
打赏
举报
回复
explicit string ( );
string ( const string& str );
string ( const string& str, size_t pos, size_t n = npos );
string ( const char * s, size_t n );
string ( const char * s );
string ( size_t n, char c );
template<class InputIterator> string (InputIterator begin, InputIterator end);
就是构造一个临时对象来赋值,是正确的。不过也可以是你说的那样。
java六大必须理解的
问题
文档
- **不可变性的意义**:`
String
`
类
是不可变的,这意味着一旦创建了
一个
`
String
`对象,其内容就不能改变。 - **不可变性的好处**: - 提高效率,因为多个变量可以共享同
一个
`
String
`对象。 - 增加安全性,特别是当...
JAVA中
string
的
赋值
_Java中关于
String
赋值
的两种形式
说明:
String
在java中是使用频率很高的
一个
类
,之前使用的时候并没有过多的在意,只知道有两种
赋值
方式,一种是采用字面值方式(
String
string
1 = “
string
”;),一种是使用new关键字(
String
string
2 = new
String
(...
String
类
赋值
的理解
这段代码的意思是,申请
一个
内存单元,命名为a,同时把5存到内存单元,然后又把4存到内存单元内,也就是说现在名为a 的内存单元的内容在被重新
赋值
后修改了
String
str = “123”; str = "abc"; 这段代码可以这样
C++ 学习之
string
容器基本
赋值
操作
string
是
一个
类
,
类
内部封装了char*,管理这个字符串,是
一个
char*型的容器。 2、特点:
string
类
内部封装了很多成员方法 例如:查找find,拷贝copy,删除delete 替换replace,插入insert
string
管理char*所分配的...
安卓给
string
对象
赋值
_关于
String
的两种
赋值
方式
String
的两种
赋值
是不同的,
String
str1=“hello”,指向堆内存中的"hello",而
String
str2=new
String
("hello"),因为new开辟的新的堆内存,所以二者地址不同,在用==时,显示的是false。例一:
String
str1=“Hello...
C++ 语言
65,198
社区成员
250,522
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章