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"<
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
再赋值当然是可以的,如果之前分配的内存够用就直接在里面写上新内容,如果不够就重新分一块。
就酱。