关闭

《c++primer 》string *pstr = new string; *pstr = str;的疑问

202人阅读 评论(0) 收藏 举报
分类:
题目:编写程序定义一个 vector 对象,其每个元素都是指向 string 类型的指针,读取该 vector 对象,输出每个 string 的内容及其相应的长度。

疑问出在string *pstr = new string; *pstr = str;看了很多解答,汇总一下。

#include<iostream>
#include<string>
#include<vector>
using std::cin;
using std::cout;
using std::endl;
using std::vector;
using std::string;

int main()
{
	typedef string *pstring;
	vector<pstring> stringPointArray;

	string sTemp;
	int iCount = 3;

	while (iCount!=0)
	{	
		cout << "input" << endl;
		cin >> sTemp;
		--iCount;
		pstring sPointTemp=new string;
		//sPointTemp = &sTemp;//和上一句连一起,就把指针自己分配的空间弄丢了,同时指向了stemp的地址
		//pstring sPointTemp = &sTemp;//在这里sPointTemp是一个指针,获取的是地址,指向stemp
		*sPointTemp=sTemp;//把stemp复制进sPointTemp的空间中
		cout << "指针地址"<<sPointTemp << endl;
		cout << "指针指向的string"<<*sPointTemp << endl;
		stringPointArray.push_back(sPointTemp);
	}

	vector<pstring>::iterator i = stringPointArray.begin();
	for (; i != stringPointArray.end(); ++i)
	{
		cout << **i << endl;
		delete *i;
	}

	system("pause");
	return 0;
}

0
0
查看评论

《c++primer 》string *pstr = new string; *pstr = str;的疑问

题目:编写程序定义一个 vector 对象,其每个元素都是指向 string 类型的指针,读取该 vector 对象,输出每个 string 的内容及其相应的长度。 疑问出在string *pstr = new string; *pstr = str;看了很多解答,汇总一下。 #includ...
  • sinat_14884161
  • sinat_14884161
  • 2016-05-30 17:10
  • 202

C++ 指针找茬

1. 下面的代码中编译器会报一个错误,你知道是哪个语句错了吗? typedef char * pStr; char string[4] = "abc"; const char *p1 = string; const pStr p2 = strin...
  • FrankieWang008
  • FrankieWang008
  • 2011-11-02 09:27
  • 595

C语言关于简单的字符串移位函数void LoopMove(char *pStr, int steps)

2009-11-01 17:23:27 #include "stdio.h"#include "string.h"#include void LoopMove(char *pStr, int steps){   ...
  • jernymy
  • jernymy
  • 2009-11-01 17:21
  • 1577

char* pStr和char pStr[]有所不同

<br />我在VC2008中编译时遇到了个问题:<br />char * pStr = "字符串";<br />在使用 strcpy_s(pStr, strlen(pStr),  "新串");<br /&g...
  • chl0000
  • chl0000
  • 2011-04-13 01:35
  • 1357

LPSTR与PSTR的区别

在WINNT.H中有如下定义                   typedef char CHAR;   &#...
  • setflvet
  • setflvet
  • 2011-11-17 16:09
  • 12991

自定义String类(C++)----------测试(一)

题目:请写出下面这个类的方法代码class String { public: String(char *pstr); ~String(); String(const String &src); void operator=(const String &...
  • u013266600
  • u013266600
  • 2017-11-14 12:06
  • 80

Java中String="hello"和new String("hello')两种创建字符串的区别

1.创建String类的对象的两种方式: 1. ""直接赋值法 2. new关键字法 2.两种创建字符串的地址比较 String str="hello"; String str1="hello"; ...
  • zqzq310918
  • zqzq310918
  • 2017-01-10 13:58
  • 786

String str="abc" 与 String str = new String("abc")

1.java运行环境有一个字符串池,由String类维护,执行语句String str="abc"时: 1.首先查看字符串池中是否存在字符串"abc",如果存在则直接将“abc”赋给str,如果不存在则先在  字 符串池中新建一个字符串&quo...
  • sddchina
  • sddchina
  • 2015-04-06 11:40
  • 1206

strlen和sizeof的区别(续一)

<br />本文通过几段小程序来学习strlen和sizeof的区别<br />  1 #include <stdio.h><br />   2 #include <stdlib.h><br /> ...
  • zhustr
  • zhustr
  • 2011-04-14 13:18
  • 213

String str="abc" 与 String str = new String("abc");详解

1.java运行环境有一个字符串池,由String类维护,执行语句String str="abc"时:               ...
  • renyuanchunby
  • renyuanchunby
  • 2011-11-17 10:24
  • 7167
    个人资料
    • 访问:7824次
    • 积分:344
    • 等级:
    • 排名:千里之外
    • 原创:27篇
    • 转载:4篇
    • 译文:0篇
    • 评论:0条
    文章分类