string *pstr = new stringtostring是什么意思思

#include&&iostream&
#include&&string&
#include&&vector&
using&namespace&
int&main(int&argc,&char&*argv[])
vector&string*&&
//&读取vector对象
cout&&&&&Enter&some&strings&(Ctrl&+&Z&to&end)&&&&&
while&(cin&&&&str)&{
string&*pstr&=&new&//????
&&&&&&&&&&&&&&&&&&*pstr&=&&//????
spvec.push_back(pstr);
//输出每个string的内容及其相应的长度
vector&string*&::iterator&iter&=&spvec.begin();
while&(iter&!=&spvec.end())&{
cout&&&&*(*iter)&&&(*iter)-&size()&&&&//????
//释放各个动态分配的string对象
iter&=&spvec.begin();
while&(iter&!=&spvec.end())&{
delete&*//??????
system(&pause&);
回复讨论(解决方案)
一个存指针,一个存对象,指针拷贝和对象拷贝性能差很多.
能具体讲讲吗?谢谢,或者给点代码指导。。。。。
string&*pstr&=&new&//????&&&new&一??象,基本?法
&&&*pstr&=&&//????
&&&&&&&改??容
cout&&&&*(*iter)&&&(*iter)-&size()&&&&//????&&取出字符串
delete&*//??????&手??除,由於push_back的是一?new&string,vector自?的解函??法自??除。
string&*pstr&=&new&//创建一个新的string空对象
&&&*pstr&=&&//把刚才创建的string赋值为str的值
cout&&&&*(*iter)&&&(*iter)-&size()&&&&//*iter为string*类型,再进行一次*运算获得string
delete&*//释放之前创建的string对象
因为push_back是值传递,这样的写法可以避免push_back时的拷贝构造,但是增加了new和delete的过程,实际上并没有什么好处,反而更难理解
如果不用指针,是这样的写法
#include&&iostream&
#include&&string&
#include&&vector&
using&namespace&
int&main(int&argc,&char&*argv[])
&vector&string&&
&//&读取vector对象
&cout&&&&&Enter&some&strings&(Ctrl&+&Z&to&end)&&&&&
&while&(cin&&&&str)&{
&spvec.push_back(str);
&//输出每个string的内容及其相应的长度
&vector&string&::iterator&iter&=&svec.begin();
&while&(iter&!=&svec.end())&{
&cout&&&&*iter&&&iter-&size()&&&&
&system(&pause&);
&return&0;
&return&0;
string&*pstr&=&new&
&&&*pstr&=&
拷贝构造的消耗比起这个来还是不如吧,一次构造一次赋值
为什么删除的不是&delete&*pstr啊??还有vector&string*&相当几级指针啊?
为什么删除的不是&delete&*pstr啊??还有vector&string*&相当几级指针啊? 就是这样规定的,delete的是指针而不是对象本身,因为只有动态分配的才能用delete释放
对外部来说只是1级指针,至于vector的迭代器用指针形式实现的库来说内部是有2级指针不过这不重要
谢谢&各位&我懂了JAVA的String s0=new String();string s1=new String();是什么意思,初学求解_百度知道
JAVA的String s0=new String();string s1=new String();是什么意思,初学求解
System.println(b1);
System!=j;
boolean b1 =i==jpublic class lianxi3{ public static void main(String args[]) {
String s1=new String().out.out.println(b2)!=s1);
b4=(s0 .println(b4);
boolean b3=(s0 == s1);
boolean b2=
int j=5.println(b3);
String s0=new String()
提问者采纳
String s1=new String(),因为String是引用类型s0 == s1比较的是它们指向的是否是同一个对象这里显然不是;新建两个String对象String s0=new String()
为什么不是
因为java中只要是new出来的对象就是一个新的对象,一定会分配新的内存空间,他们在堆内存中必定不是同一个对象。
提问者评价
谢谢了。感激。说的不错
其他类似问题
string的相关知识
其他2条回答
实例化一个的String类型;
面向对象的思想。new 表示构建一个新的对象。String str = new String();构建一个新的String对象,这个对象没有具体的值,str值为null。你可以在后面给他赋值这个是无参构造。另外还有有参构造:String str = new String(“123”);这下这个str对象的值就是123.
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁string *pstr = new string什么意思_百度知道
string *pstr = new string什么意思
string *pstr = new string 什么意思??pstr 是一个指针啊
用new string给指针赋值 算什么?
这是一道待解决的难题
您的回答被采纳后将获得系统奖励20(财富值+经验值)+难题奖励30(财富值+经验值)+提问者悬赏5(财富值+经验值)
我有更好的答案
按默认排序
直接调用其成员函数了,其空间由new生成;定义了一个指向string的指针new string。赋值以后就可以用pstr-&也会返回一个指向string的指针这个指针指向一个string的类定义string *pstr
pstr是指针,如果在指针前加上*,则变成指针的指针的了,可以赋值的
其他类似问题
string的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁汇聚1000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
喜欢篮球,游泳。喜欢旅游。
LOFTER精选
网易考拉推荐
阅读(1902)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'char 与 string 互相赋值的问题',
blogAbstract:'#include &string& #include &iostream',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:8,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:true,
hostIntro:'喜欢篮球,游泳。喜欢旅游。',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}当前位置: >
> var1 = new String * [10];是什么意思?该怎么处理
var1 = new String * [10];是什么意思?该怎么处理
wangjun0206 & at
var1 = new String * [10];是什么意思 var1 & = & new & String & * & [10];是什么意思
是否意思是var1是一个数组,数组的元素是指向String的指针?
var1是个指针,指向指针数组
shihhuangti & &
& & (0)(0)string (*var1)[] = new string *[10];
shihgzhrsk & &
& & (0)(0)string **var1 = new string *[10];
shihgzhrsk & &
& & (0)(0)哦,对todototry说得对,呵呵。
new出来的从来都是指针。
shihhbin & &
& & (0)(0)楼主的理解还ok.
var1[0] = new String(
&hello & );
var1[1] = ....
shihlcn & &
& & (0)(0)用new产生的肯定是一个内存地址,也就是var1肯定是一个指针
shihgzhrsk & &
& & (0)(0)String *是一个独立的数据类型。
这样写就好理解了:
typedef String * StirngP
StirngPtr * var1 = new StirngPtr[10];
shihong789 & &
& & (0)(0)指向字符串数组的指针!!!!
shihhbin & &
& & (0)(0)这样应该很直观了
string **var = new string *[10];
string a= &how &;
string b= &are &;
string c= &you &;
var[0]=&a;
var[1]=&b;
var[2]=&c;
shihlcn & &
& & (0)(0)或者也可以这么写:
string (*var1)[10] = (string(*)[10])new string[10];
以上两种写法都可以,而且语义上也相同。不过前者可以用:new string[n][10];
作用可以更广,而后者就相当于new string[1][10]。
而如果要析构var1的话必须要
delete[] var1; // 带数组的形式
shihgzhrsk & &
& & (0)(0)1.var1 = new String * [10];
//String *是一种类型,好比int,即:分配了一个拥有10个String*类型的数组,并用var1指着
2.var1 = new
(*String) [10];//动态分配了一个数组,var1指着,该数组有10个元素,每一个都是指针类型. shihgzhrsk & &
& & (0)(0)
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&&&湘教QS2-164&&增值电信业务经营许可证湘B2-}

我要回帖

更多关于 string什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信