__asm{push 0}
替换为
_alloca(4)
楼主,有一程序在G++4.7.0下编译通过,且正常运行。但是VC2010报错。
请指教。
#include <iostream>
#include<vector>
using namespace std;
class base
{
public:
base(int ii):i(ii){}
int geti(){return i;}
private:
int i;
};
class derived:public base
{
public:
derived(int ii,int jj):base(ii),j(jj){}
int getj(){return j;}
private:
int j;
};
static vector<base> vecb;
static vector<derived> vecd;
inline void scin(void)
{
int i;
cout<<"请输入一个数字:"<<endl;
for(int j=0;j<3;j++)
{
cin>>i;
vecd.push_back(base(i));
}
};
inline void scin1(void)
{
int a,b;
cout<<"请输入一对数字:"<<endl;
for(int j=0;j<3;j++)
{
cin>>a>>b;
vecb.push_back(derived(a,b));
}
}
inline void freeitb(void)
{
for(int i=0;i<vecb.size();i++)
vecb.pop_back();
}
inline void freeitd(void)
{
for(int i=0;i<vecd.size();i++)
vecd.pop_back();
}
int main()
{
vector<base>::iterator itb;
vector<derived>::iterator itd;
scin();
for(itb=vecb.begin();itb!=vecb.end();itb++)
cout<<itb->geti()<<endl;
freeitb();
scin1();
for(itd=vecd.begin();itd!=vecd.end();itd++)
cout<<itd->geti()<<","<<itd->getj()<<endl;
freeitd();
cin.get();
return 0;
}
re: ptrdiff_t 指针减法 cpp 2011-07-15 11:34
ptr[4],就是arr[4]吧,也就是数组第4个值,
ptr[0],也同样道理。
这两个值相减,和指针地址有啥关系?
搞不懂。。。。
确实不错!我们需要好库。
更希望有一个所谓的标准的。
std::vector<char> buffer_;
看过mangos里也是采用这个来装buffer。
vector和char [固定长度],请问你认为有什么优势呢?
re: 利用宏实现的一个singleton cpp 2010-09-01 10:52
我觉得我们是否更应该去避免这些问题的产生,而不是去想法来解决“会出现”的问题呢。
欢迎使用maxthon3,关于htmlayout的问题可以交流
http://www.terrainformatica.com/customers.whtm
www.maxthon.cn
re: 写个小游戏练一练手 cpp 2007-12-17 12:44
用地图数据应该是比较方便的,我用的是bool类型的地图,方块信息用十进制数据,用的时候转化为二进制。当时写的时候没有用面向对象的思想,数据结构用的都是全局变量。扩展性还可以,代码写得就有点乱了。Cppblog上也是高手如云。
C++语言、学习、研究交流
-------------------------
论坛 :
http://www.16c.cn