学习笔记之string

       本节主要讲了c++标准库里的string类型。在c++中有两大数据类型:一类是基本数据类型,像int、char、double等;另一类就是标准库里的抽象数据类型,像string、vector等,抽象数据类型是对数据(广义的数据)对象的更高级别的抽象,通过使用这些类型,程序员可以忽略他们的实现细节,将注意力更多的集中在如何更好地使用这些抽象数据类型。

       string是一个类,使用的时候要包含标准库头文件#include<string>。其他的不细说了,下面主要讲一些细节问题。

       1.string str;

str.size(); 该操作的返回值问题。学了这么久,今天才知道,他的返回值不是int型,而是string::size_type。(汗!之前直接把返回值赋给int型变量了)。他的定义是这样的:

class   basic_string 

    typedef   unsigned   int   size_type; 
}; 

使用该类型有如下考虑:

a.由于字符串的长度是非负值,所以采用无符号数比采用有符号数表示范围增大一倍;

b.根据书上的叙述,采用size_type可以不受机器位数的限制,因为有的机器上int是16位的,有的是32的,这就限制了所能表示的虽大长度和程序的可移植性。但是如果从这条叙述来看,上面的定义似乎又是不对的,因为他还是与机器的位数相关的。有些疑惑!!!


  2.第二个问题是:在使用strlen(str)时候,会出现错误,这是因为strlen()的参数是const char *,所以需要将str转化一下。正确使用方法是:strlen(str.c_str())


好了,今天就到这里了,希望能够坚持下去。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值