c++ - string被不断赋值的具体实现
高洛峰
高洛峰 2017-04-17 11:54:52
[C++讨论组]

c++中,string是一个管理者,比如创建出一个string的对象后,这个对象是管理一个地方里面保存有字符串的,那么,创立了一个string后对象并初始化后,还能对它再赋值吗?如果再赋值是什么含义呢,是这个地方的字符串变换了吗(但是地址没有变),还是这一块地址里面依然有原来的字符串而这个string对象管理了另外一块地址的另外一个字符串呢?
比如说以下代码假设state.txt中是New York#New Mexico#Texas#Indiana
那么string city 就不断被赋值各个城市名称,这里面具体是如何实现的?

#include
#include
#include
using namespace std;
int main(){
    ifstream input("state.txt");
    if(input.fail())
    {
        cout<<"File does not exist"<
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
迷茫

再赋值当然是可以的,如果之前分配的内存够用就直接在里面写上新内容,如果不够就重新分一块。
就酱。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号