个大小是指当前 字符串最多能包含的字符数,很可能和机器本身的限制或
者字符串所在位置连续内存的大小有关系。我们一般情况下不用关心他,应该
大小足够我们用的。但是不够用的话,会抛出 !#+!2 异常
%/%5重新分配内存之前 所能包含的最大字符数。这里另一个需
要指出的是 !!6!函数,这个函数为 重新分配内存。重新分配的大
小由其参数决定, 默认参数为 ,这时候会对 进行非强制性缩减。
还有必要再重复一下 字符串和 字符串转换的问 题,许多人会遇到这样
的问题,自己做的程序要调用别人的函数、类什么的(比如数据库连接函数
2!#%?'#%?),但别人的函数参 数用的是 #%?形式的,而我们
知道,+、 %%返回的字符数组由该字符串拥有,所以是一种 2
#%?'要想作为上面提及的函数的参数,还必须拷贝到一个 #%?'而我们的原
则是能不使用 字符串就不使用。那么,这时候我们的处理方式是:如果 此函
数对参数也就是 #%?的内容不修改的话,我们可以这样
2!#%?@!AB+'#%?C%DB+'但是这时候是存
在危险的,因为这样转换后的字符串其实是可以修改的(有兴趣地可以自己试
一试),所以我强调除非函数调用的时候不对参数进行修改,否则必须拷贝到
一个 #%?上去。当然,更稳妥的办法是无论什么情况都拷贝到一个 #%?上
去。同时我们也祈 祷现在仍然使用 字符串进行编程的高手们(说他们是高手
一点儿也不为过,也许在我们还穿开裆裤的时候他们就开始编程了,哈哈…)
写的函数都比较规范,那样 我们就不必进行强制转换了。
. 元素存取
我们可以使用下标操作符78和函数 %对元素包含的字符进行访问。但是应该
注意的是操作符78并不检查索引是否有效(有效索引 -!#),如果
索引失效,会引起未定义的行为。而 %会检查,如果使用 %的时候索引无
效,会抛出 2+2*+%! 异常。
有一个例外不得不说,2%$的操作符78对索引值是 %!#仍
然有效,其返回值是’<=。其他的各种情况,%!#索引都是无效的。举例
如下:
2)2)$
))$
78$""20
%$""20
78$""未定义的行为
%$""#2.2+2*+%!
评论0
最新资源