65,211
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
using namespace std;
int main()
{
int ival=1.01;
int &rval2=ival;
rval2=3.12345;//不是说只能把一个对象赋值给引用吗?
//我觉得const int &rval2=3可以。但是devc++编译器却可以编译通过此程序
getchar();
}
vector<string>**pvec2=new vector<string>[10];//错的
vector<string> *pvec1=new vector<string>(10);//两者有什么区别
相信楼主能看懂下面的代码:
int *i=new int[20]; //申请了20个int类型的空间,由于int类型无构造函数,空间的值随机
int *i=new int(20); //申请了1个空间,空间的值为20
把int换成vector<string>再分析:
vector<string> *pvec2=new vector<string> [10]; 申请了10个vector类型的空间,同时调用vector的构造
函数10次
vector<string> *pvec2=new vector<string>(10); 申请了1个vector类型的空间,同时传递数值10调用vector
的构造函数
vector<string>**pvec2=new vector<string>[10];//这里pvec2是2级指针,不能把1级指针赋给它
vector<string> *pvec1=new vector<string>(10);//这里pvec2是1级指针