c++ 学习(1)

(1)在C++中,char*转为string需要使用函数string(char*),如char *ch="abc";string str=string(ch);

(2)传char*时,如果不对内容进行改变的话,尽量用const char*

(3)string转char*的函数:c_str的作用是得到字符串在内存中的地址。
          如:char *ps;string ch="aaa";ps=ch.c_str();
          注意:若ch发生变化,ps也会随之变化。

(4)刚才上网看了一下,原来(3)是那种方式不好,应该这样做: char* cp=new char[Edit1->Text.Length()+1];   
                                                        strcpy(cp,Edit1->Text.c_str());
   原因:c_str()获取字符串的临时地址,之所以说是临时地址,是因为ch是一个动态字符串,每一次串值的改变,将引起内存的重新分配,因此其地址将会动态变化,因此,c_str()应该即需即用,尤其要注意,不要用c_str获取的指针改写ch的串值,否则,你会后悔的
(5)尽量不要使用呢指针来控制数组,因为数组可以保存首地址信息,而指针则不能。尤其是在操作string时,使用指针往往需要再进行逆序排列。
(6)字符串的类型是“适当个数的const字符的数组”,即const char[]类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值