C,C++,C++ 11的大部分内容相同,但在使用时需要注意区分一些细节。
一、cpp文件中含有引用参数的函数如下:
Status DestroyTriplet(Triplet &T)
但是标准 C 不支持引用参数,使用.c文件需要转换为
Status DestroyTriplet(Triplet *T)
在《数据结构》算法实现及解析(第二版)的附录A中有更为详细的说明。
二、VS2010并不支持c++11的全部特性,如:
1.pair的初始化
std::vector<std::pair<int, int> > e= {{1, 1}};
需要转换为
std::vector<std::pair<int, int> > e;
e.push_back(std::make_pair(1, 1));
2.auto关键字
for (auto& e : edges)//vs2010 出错
需要替换为
std::vector<std::pair<int, int> > ::iterator e;
for(e=edges.begin();e!=edges.end();e++)
此外,cmd输出打印中文乱码,可以通过将c/cpp文件转为ANSI编码格式保存解决。