6.3w+
社区成员
// 第一题没问题
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
char *words[] = {"stately", "plump", "buck", "mulligan"};
unsigned size = sizeof(words) / sizeof(char *);
vector <string> c(words, words+size);//这里出错,这种初始化出错了,我记得c++primer也是这么的,请帮回答下
for (vector <string>::iterator iter = c.begin(); iter != c.end(); ++iter)
cout << *iter << endl;
return 0;
}
// 第二题也没有问题
#include <iostream>
#include <string>
using namespace std;
int main()
{
char *cp = "Hiya";
string s1(cp);
string s2("Hiydaaa");
string s3(s1, 0);//这种初始化怎么出错了,c++primer跟我的一样,我也不知道怎么了
cout << s3 << endl;
if(s1.compare(s2))
cout << "yes";
return 0;
}
#include <iostream>
using namespace std;
/* 这样定义以后print是一个指向函数的指针类型,而不是一个指针变量 */
typedef void (*print)(int);
void visit(int e)
{
cout << e << " ";
}
void ListTraverse(print p,int n)
{
for (int i = 0; i < n; ++i)
(*p)(i); // 此处应该是指针变量,而不是指针类型
}
int main()
{
int n = 10;
ListTraverse(&visit, n);
return 0;
}
#include <iostream>
using namespace std;
typedef void (*print)(int);
void visit(int e)
{
cout <<e <<" ";
}
void ListTraverse(print p,int n)
{
for(int i=0;i <n;++i)
(*p)(i);
}
int main()
{
int n=10;
ListTraverse(&visit,10);//ΪʲôÊä³ö²»ÁË0-9
system("pause");
return 0;
}
#include <iostream>
#include <string>
using namespace std;
int main()
{
char *cp="Hiya";
string s1(cp);
string s2("Hiydaaa");
string s3(s1,0);//ÕâÖÖ³õʼ»¯Ôõô³ö´íÁË,c++primer¸úÎÒµÄÒ»Ñù,ÎÒÒ²²»ÖªµÀÔõôÁË
cout << s3 <<endl;
if(s1.compare(s2))
cout <<"yes";
system("pause");
return 0;
}
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
char *words[]={"stately","plump","buck","mulligan"};
unsigned size=sizeof(words)/sizeof(char *);
vector <string> c(words,words+size);//ÕâÀï³ö´í,ÕâÖÖ³õʼ»¯³ö´íÁË,ÎҼǵÃc++primerÒ²ÊÇÕâôµÄ,Çë°ï»Ø´ðÏÂ
for(vector <string>::iterator iter=c.begin();iter!=c.end();++iter)
cout << *iter << endl;
system("pause");
return 0;
}