UWP C++/CX开荒记 第一回 C++/CX简介

UWP C++/CX开荒记 第一回 C++/CX简介


什么是C++/CX?

C++/CX是微软对C++的拓展,老实说,C++本来已经够庞大了,这次拓展更为严重,直接更改语言习惯了,为了适应通用平台,就要适应这种语法的改变。

拓展项目

  1. 基本类型
    基本类型一般情况是自动转换的,类型列表参照C#的,规范来写就是int32,int64这种的,但你写成int,__int64也无妨。基本类型已经自动重载了+运算符,可自动将值转换为字符串,但如果出现变量相加的情况需要调用ToString()函数(很像java),当然加号括号也是可以的,但是涉及到不同类型的变量相加,保险是需要调用函数转换字符串的。

  2. 拓展引用类型ref 与 ^
    在C++/CX中除了包含标准C++类库之外还增添了通用运行时类库,二者区别在于有没有ref声明,所有用ref声明的类在实例化的时候需要使用ref new,对应的指针类型是^,用于区分的标记,当然STL的迭代器是兼容^的,访问ref class的对象的成员和指针类型一样需要用箭头->。

  3. 关键字property
    成员变量修饰符,可内置get和set方法过滤输入和输出数据,常用来绑定XAML控件,具体实现很像C#,但是标准一点的做法是创建一个内部变量,最后通过属性返回其引用。

  4. 关键字event
    成员变量修饰符,用于触发传递函数启动信号,主要用于添加监听函数,例如单击事件处理函数,播放事件处理函数。

  5. 关键字sealed
    类的声明限定符,表示密封类型,已经密封的类将不能被继承。但是密封是公有化属性的必要条件。

  6. 关键字internal
    成员变量修饰符,表示组件内部公用,外部无法访问,常用作性能优化。也用作兼容性public。
  7. 其他
    其它诸如订阅类型不在讨论范围内。请参阅Visual C++语言参考(C++/CX)

拓展的坑

开发过程中最恼人就是类型的问题,密封类不能被继承,非密封类不能有公有变量,MFC的话大都可以进行继承然后修改相应的功能,导致不能像C#那样做到继承页面,进行模板化开发。不过习惯巧妙利用全局变量和XAML的资源字典以及绑定机制可以最大限度地进行代码重用。这个过程必然是痛苦的,但也是开发高性能应用的必经之路。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值