社区
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牛人指教!
...全文
131
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
(...
c++
string
类
赋值
方法
若s2没有赋初值,那我们要怎样才能给
string
类
的字符串
赋值
呢,看下面这段代码:只需要将
赋值
语句改成这样 s2=s2+s1[i],加法即向其
赋值
#include<iostream> #include<
string
> using namespace std; int...
关于
String
赋值
问题
如图都没有给
String
赋值
,为什么第
一个
可以不给
String
赋值
,而另
一个
没有
赋值
就报错?到底什么时候适合给
String
赋值
? 报错不是因为
String
xx没有
赋值
!而是你switch语句有些
问题
! 语法上是没有
问题
的...
C/C++中
string
类
型
赋值
问题
C/C++中,结构体
string
类
型成员
赋值
问题
C++ 语言
65,187
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章