今天一下午都沉浸在痛苦与郁闷当中。 最近在疯狂的学习Linux,Gcc必然是首选了。 不过没事儿的时候还是小小折腾了一把vs2010这个老朋友。 结果发现了个小问题。对于vs2010来说, C++自身定义的类是没有办法是用malloc申请空间的。 只能够是用new进行动态生成空间。 而gcc果然神通,尽然能够是用malloc为C++自身的类生成空间,真实务必强大。 再次感叹一下封闭就是不靠谱。
下面是一个例子:
#include<iostream>
#include <string.h>
#include <stdlib.h>
#include <string>
#include <vector>
using namespace std;
class Tst{
public:
int a;
string s;
vector<int> vInt;
};
int main()
{
Tst *tst = (Tst*)malloc(sizeof(Tst));
tst->a = 10;
tst->s = "hello world";
tst->vInt.push_back(0);
cout << tst->a << endl;
cout << tst->s << endl;
cout << tst->vInt.at(0) << endl;
}