首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

有关std:string的有关问题

2012-02-25 
有关std::string的问题第一个:charbuf[1000]...给buf赋值std::stringstrbuf//这里str是把buf的内容拷贝

有关std::string的问题
第一个:
char   buf[1000];
...   给buf赋值
std::string   str   =   buf;   //这里str是把buf的内容拷贝一份的,我想问的有什么办法让str直接引用buf而不是值拷贝.

第二个:有关   fstream的问题,我现在需要把一个文件的一部分内容拷贝进来,
如果我想把文件每行内容都放在一个string里面,   我不断用> > 才读取
例如:     fstream   fs;
              string   strarray[N];
              {
                        fs> > strarray[i];   //这里不断循环读取
              }
我想问的是:这样每次> > 都是一次读取文件操作?如果是这样话,如此频繁读,每次只是读取小量数据,这样在性能上会不会很差?   如果先读取全部内容到一个   char[],再把char[]的内容赋值到一个string,这样做性能会不会好点?

请各位大侠指教

[解决办法]
一,除非str是指针。
二,差别不大,底层实现方式差不多
[解决办法]
二 ,都差不多一样吧
[解决办法]
1,没可能。string和char[]是两个层次不同的东西,混在一起用是很糟糕的。
2,差别不大。优先使用美观,方便的方法。
[解决办法]
1 不能。std::string str = buf; string 和char[]不是一个类型,无法引用

热点排行