hchchc6016
hchchc6016
2016-04-11 13:21
采纳率: 91.2%
浏览 1.4k

小白关于c++string的疑问

string str;
string * p=str.begin();
为什么不能把string的首地址给一个指向string的指针?
那么应该怎么写可以取到指向string首地址的string*类型的指针??

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • qq423399099
    小灸舞 2016-04-11 13:39
    已采纳

    str.begin()得到的是指向字符串开头的Iterator
    要得到地址的话,直接取地址不就好了?
    string str;
    string *p = &str;

    点赞 评论
  • stadyhungry
    you都是我的 2016-04-11 15:14

    str.begin()得到的是一个迭代器跟string*不是同一个类型
    要得到地址直接取地址就ok,如楼上所言。

    点赞 评论
  • beifengche
    beifengche 2016-04-12 02:19

    c++类型检查十分严格,str.begin()的类型是迭代器不是string*类型。一般把变量转换成指针都是取地址

    点赞 评论

相关推荐