STL 中最简单地数据结构应属于<utility>中定义地pair<TYPE,TYPE>,它包含两个内部
变量first,second,用来将两个相关的数据配对,并重载了比较大小、判等、转化等函数,使
用它可以方便地实例化自己地结构,如要建立一个坐标的数据结构则可以:
#include <utility>
using namespace std;
typedef pair<int,int> POINT;
这样在下边的代码中我们就可以使用POINT 这个结构了。如果要使用它的判断函数,
则所传递的类型必须已经重载了比较运算符或者使系统自定义类型。
例如:
#include <iostream>
#include <utility>
using namespace std;
typedef pair<int,int> POINT;
int main()
{
POINT p1,p2;
cin>>p1first>>p1second>>p2first>>p2second;
if(p1==p2)cout<<“Equal!”<<endl;
else cout<<“Not Equal”<<endl;
return 0;
}
此外,utility 中还有一个pair<T, U> make_pair(const T &x, const U &y)函数,用来将两
个数据组成一个pair 对象返回。C++其实不是一种太好的语言。简单来说,C++是面向机器的语言,而现在占优势的是那些面向人的语言,比如python、ruby、javascript、lisp等。C++有过它的辉煌,而且我们也不能否认它优秀的地方,但是在当前这个计算资源非常丰富的,面向机器的语言相比较面向人的语言在大部分领域都不太适合。
回到GUI这个问题上来,目前市面上有太多开发GUI的框架和,iOS,Android,WinPhone都有自己成熟高效的GUI技术,更别提各种HTML框架。这些框架与它们的开发语言都针对各自经过了优化
用Qt的一个所谓的优点是跨,但是实际上跨应用有时候不是那么美好。你开发了一个漂亮的跨壳子,但是这花不了多大精力,很多时候,壳子下面的齿轮才是真正麻烦的,而这些齿轮的装式各个是很难保持一致的。单就这个漂亮壳子,也会面临用户体验上的问题,Mac上的 *** 作方式不符合Linux用户的使用习惯,而Windows的UI也不能让Mac用户满意。
我不太清楚C++目前到底还有多大的市场,除了Webkit一类的效率敏感型程序库,还有哪些地方有用到它的必要,而且大部分开发人员没必要去开发这一类的。相比较而言,C++的开发效率太低了,而Bug率及修复难度又太高了。
再看看MFC,这个框架的设计不够优雅,已经落后于时代。对于微软来说,现在主导的也是XNA、WPF等基于Silverlight的技术,就我个人看法,MFC已经完全没有学的必要了!开发环境是Mac,设置对话框为固定大小: setFixedSize(473, 152)
Mac运行很正常:
可是在虚拟机编译Windows版本窗口却变小了:
再次查看Windows下面的运行效果,一切正常:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)